首页 > javascript中,call和apply传递null或window的执行效率

javascript中,call和apply传递null或window的执行效率

    function sum (a, b, c, d) {
        return a+b+c+d;
    }

    var result = 0;
    var start = new Date().getTime();

    for (var i = 0; i < 10000000; i++) {
        result = sum.call(window, 1,2,3,4);       // 2446ms
        //result = sum.call(null, 1,2,3,4);       // 260ms
    }

    var dur = new Date().getTime() - start;
    alert(dur);

向call或apply传递null或undefined,是可以视为将函数的this更改为window或global的吧?
那为什么两者的执行时间会差这么多?


初始化window对象,比null要费劲多了。

【热门文章】
【热门文章】