问题1:既然indexOf方法是在构造函数Array的原型中的,那么为什么为什么 alert(Array.indexOf==Array.prototype.indexOf); 结果是false呢?
问题2:
function Person(){ }; Person.prototype.say=function(){ alert('hello'); } alert(Array.indexOf);//function alert(Person.say);//undefined
同样是构造函数原型中的方法为什么indexOf可以打印,而say却是undefined呢?
Array.indexOf 和 Array.prototype.indexOf 明显不是同一个东西啊
毕竟 Array 和 Array.prototype 也不是同一个东西啊
那么请问Array.indexOf中的方法indexOf是保存在哪的,既然不是同一个东西,那总不可能保存在原型对象中吧?
@帕特菛琦: 就在 Array 上面呗,比如 Array.isArray 或者 Array.from 方法都是在 Array 上面的
@by.Genesis: 你的意思是这样?那为什么原型中已经有了方法,构造函数还要在实现一遍呢?
Array.indexOf的用法:Array.indexOf(array, item[, start])表示在array中查找item,返回item的下标,如果不存在返回-1,如果start存在则表示从下标start开始查找
用法显然跟Array.prototype.indexOf不一样,根本就不是一个东西