搜尋

首頁  >  問答  >  主體

javascript - 想請教一下,js中 function中參數 e 到底是什麼,每個條用的參數 e的用法都不一樣?

#

某草草某草草2737 天前1950

全部回覆(11)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-06-26 10:59:08

    我估計是回呼函數不懂好,
    舉個例子:

    //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,

    以上是蒙的sort程式碼,錯了大家可以噴我。

    回覆
    0
  • 取消回覆