问题一:
这是一个乌龙问题。
function(){
console.log([].includes(NaN)); //true 实验结果
console.log([].includes(3)); //false 实验结果
}(1,2,4,5,NaN)
相当纳闷,参数是怎么传出去的。。。是否存在我还不知道的潜规则??
as we know
function 有一个属性——arguments:包含所有传进方法的参数
一开始我想源码里是不是这样写了
Array.prototype.includes = function(){
//value:调用此方法对象
var value = this || !function(){
var tempArr = []
for(var i =0;i<arguments.length,i++){
tempArr.push(arguments[i]);
}
return tempArr
}()
...
}
本着格物致知的原则,确定一下,没找到源码。
回顾看了一下
https://developer.mozilla.org/
示例代码
(function