javascript - Saya ingin bertanya, apakah parameter e dalam fungsi dalam js Adakah penggunaan parameter e berbeza dalam setiap artikel?
某草草
某草草 2017-06-26 10:57:08
0
11
1954

某草草
某草草

membalas semua(11)
伊谢尔伦

Saya rasa saya tidak memahami fungsi panggil balik dengan baik,
Sebagai contoh:

//Array.prototype.sort的一种用法是传进一个函数判断大小返回布尔值
var arr = [5,2,4,3]

var sortFunc = function(a, b) {
    return a - b
}

console.log(arr.sort(sortFunc)) //排序好了

//那sortFunc里面的a,b从哪里来的?
//在Array.prototype.sort里面有具体实现,
//糟糕,写不出冒泡排序...
Array.prototype.sort = function(fn) {
    for(var i=0; i<this.length; i++) {
        for(var j=i+1; j<this.length;j++) {
            //很难受
            var bool = fn(this[i], this[j]) > 0
            if(bool) {
                //换
            }
        }
    }
}
//重点在于fn是Array.prototype.sort的形参,实参是sortFunc,
//sortFunc接收俩参数,这是Array.prototype.sort决定的,因为其调用
var bool = fn(this[i], this[j]) > 0//这句话就是调用了sortFunc,
//this[i,j]分别对应sortFunc形参的ab,

Di atas ialah kod isihan Meng Jika saya salah, anda boleh salahkan saya.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan