回调函数
回调函数 callback
+ 概念: 把 函数A 当做实参传递到 函数B 内
在 函数B 内以形参的方式调用 函数A
此时, 我们就说 函数A 是 函数B 的回调函数
+ 作用:
1. 封装和遍历相关的内容
2. 封装和异步相关的内容
思考:
+ 封装: 为了把一个内容(行为) 放在一个函数内, 为了复用(灵活的复用)
+ 遍历: 使用循环从头到尾的获取到数组内的每一个数据
=> 我随着循环, 每次都做一样的事情, 但是可能有细节不一
//删除数组中的所有奇数
Array.prototype.fn = fn
function fn(fn2){
for(var i = 0;i<this.length;i++){
if(!fn2(this[i])){
this.splice(i,1)
}
}
return this
}
var arr = [1,2,4,7,8]
console.log(arr)
var res = arr.fn( function(item){
return item%2 === 0 ? true : false
})
console.log(res)
//sort()排序方法的重写
Array.prototype.mysort = mysort
function mysort(fn2){
for(var i = 0;i<this.length;i++){
for(var j = i+1 ;j< this.length ;j++ ){
if(!fn2(this[i],this[j])){
var tmp
tmp = this[i]
this[i] = this[j]
this[j] = tmp
}
}
}
return this
}
var arr = [5,7,3,4,8,1]
console.log(arr)
var res = arr.mysort( function(a,b){
return a - b > 0 ? true : false
})
console.log(res)