关于回调函数
将回调函数 callback 作为参数传递给异步执行函数,当异步执行函数执行完之后再触发 callback 执行。
//定义异步执行函数,回调函数作为参数
function A(callback) {
callback();
console.log('我是异步执行函数');
}
//定义回调函数
function B(){
setTimeout("console.log('我是回调函数')", 3000); //模仿耗时操作
}
A(B);
//我是异步执行函数
//我是回调函数
上述代码说明了:异步执行函数不用等待回调函数执行完,可以接着执行自己的代码(异步操作)。
优点:简单、容易理解和部署
缺点:不利于代码的阅读和维护,各个部分之间高度耦合,每个任务只能指定一个回调函数。
数组方法
-
Array.prototype.map()
map() 方法返回一个新数组,该数组中的每个元素都是回调函数的结果。var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt); //按顺序调用
// roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9] -
Array.prototype.join()
join() 方法将数组(或一个类数组对象)的所有元素连接到一个字符串中。array.join(separator) separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
var array = [1,2,3,4,5];
var str = array.join("");
// str = "12345",array = [1,2,3,4,5]