Javascript Array.includes vs Array.prototype.includes
Javascript Array.includes vs Array.prototype.includes,javascript,arrays,Javascript,Arrays,Array.includes和Array.prototype.includes之间有什么区别 考虑以下代码: var x = [1,2,3]; var arrayIncludes = Array.includes.bind(x); var protoIncludes = Array.prototype.includes.bind(x); 对arrayIncludes的任何调用(例如,arrayIncludes(2))都返回false。 调用protoIncludes返回正确的结果(例如,pro
Array.includes
和Array.prototype.includes
之间有什么区别
考虑以下代码:
var x = [1,2,3];
var arrayIncludes = Array.includes.bind(x);
var protoIncludes = Array.prototype.includes.bind(x);
对arrayIncludes的任何调用(例如,arrayIncludes(2)
)都返回false。
调用protoIncludes返回正确的结果(例如,protoIncludes(2)
返回true)
为什么呢?数组对象上的这个特殊“包含”函数是什么
编辑
我在看我的网站,有polyfills,对不起
但是,我不确定任何建议的副本是否相关。
Array.prototype.includes
意味着includes
是数组原型的一种方法,它意味着数组的每个实例(例如x=[1,2,3]
)都可以调用它。例如:
var x = [1, 2, 3];
x.includes(2); // returns true
但是数组类本身没有include方法(这个方法是在它的原型中定义的,而不是数组构造函数),所以数组没有这个方法在以后调用它
console.log(Array.includes); // prints undefined
数组。包含给出未定义的。你的那个是怎么工作的?看起来你走了一条很奇怪的路。是时候从那里回来了。所有这些都没有多大意义