apply后面为什么要写null,写window不也行吗,他俩有什么不同

来源:6-4 编程练习

慕勒2048820

2019-03-31 19:45:14

function findMin () {
        if(arguments.length < 2) return;
        var min = 0;
        for (var i = 0; i < arguments.length; i++) {
            if (arguments[i] < min) {
                min = arguments[i];
            } 
        }
        return min;
    }
    console.log(findMin.apply(null,[2, 4, 1, -1, 56, 3, -7]))


写回答

1回答

好帮手慕星星

2019-04-01

你好,代码实现结果是正确的,没有问题。

apply方法第一个参数是对象,如果前面调用apply方法的函数中有this的话,可以改变this的指向。如果前面调用函数中不需要改变this指向或者没有this,就可以写为null,或者是window。

null是空对象,window是window对象,apply方法第一个参数放一个对象就可以,最后的结果都是相同的。

祝学习愉快!

0

0 学习 · 14456 问题

查看课程