回调函数及数组中sort()方法实现排序的原理
2024-08-24 08:13:21
1、回调函数:把一个方法A当一个参数值传递到另外一个函数B中,在B执行的过程当中我们随时根据需求让A方法执行;
什么是回调 :它是异步编程基本的方法,需要异步处理的时候一般采用后续传递的方式,将后续逻辑作为起始函数的参数。
PS:典型的异步方法有:setTimeout,回调函数,ajax,事件;
回调函数: function A (){ } function B (fn) {
fn();
fn();
} B(A);
2、数组sort()方法中回调函数实现排序的原理:
var arr = [2,34,242,12,3,2,23,3];// 定义一个数组 arr.sort(function (a,b) {
// a -->代表每一次执行匿名函时候,找到的数组中的当前项;
// b -->代表当前项的后一项; return a - b; // 升序时: 如果a>b,那么返回的值>0,a和b交换位置;
return b - a; // 降序时: 如果b>a,那么返回的值>0,a和b交换位置;
//-> 原理:return的值可能是一个大于0的数也或者可能是小于等于0的数,如果return后的值大于0则让数组a和b交换一下位置;小于等于0,则原来数组中的位置不变; return 1; // 表示不管a和b谁大,每一次都返回一个恒大于0的数,也就是说每一次a和b都要交换位置,最后的结果就是原有数组倒过来排列了,相当于数组的reverse()方法; })
PS:以上写法如有错误欢迎指正,^^
最新文章
- 自动分割mp3等音频视频文件的脚本
- JavaScript 学习小结
- Redis启动警告错误解决
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- 第27条:使用“class-continuation分类”隐藏实现细节
- 如何通过数据库修改WordPress后台登录密码
- Android NDK入门实例 计算斐波那契数列一生成jni头文件
- 利用jmeter+JAVA对RPC的单接口(dubbo接口等)进行性能测试
- c++ 回调函数使用
- linux下64位汇编的系统调用(1)
- java jackson 忽略不存在的属性字段 和 按照属性名转json
- Codeforces Round #503 (by SIS, Div. 2)
- How to Reset VW Steering Assist 1S1909144P with OBDSTAR X300 DP
- JavaScript-简介、ECMAScript5.0
- List<;>; of struct with property. Cannot change value of property. why?
- 【模板】Trie
- 爬虫--requests模块学习
- Vistual Studio 2010(VS2010)安装 MVC3.0具体方法
- ie6 无法显示网页 已终止操作
- iis6 , URL重写HTM文件名后,出现真实的HTM文件不能访问的解决