首页 新闻 会员 周边

JavaScript中关于原型的一点小问题

0
[待解决问题]

问题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呢?

    

帕特菛琦的主页 帕特菛琦 | 菜鸟二级 | 园豆:206
提问于:2018-02-25 21:51
< >
分享
所有回答(2)
0

Array.indexOf 和 Array.prototype.indexOf 明显不是同一个东西啊

毕竟 Array 和 Array.prototype 也不是同一个东西啊

by.Genesis | 园豆:2719 (老鸟四级) | 2018-02-26 13:29

那么请问Array.indexOf中的方法indexOf是保存在哪的,既然不是同一个东西,那总不可能保存在原型对象中吧?

支持(0) 反对(0) 帕特菛琦 | 园豆:206 (菜鸟二级) | 2018-02-26 18:02

@帕特菛琦: 就在 Array 上面呗,比如 Array.isArray 或者 Array.from 方法都是在 Array 上面的

支持(0) 反对(0) by.Genesis | 园豆:2719 (老鸟四级) | 2018-02-26 18:07

@by.Genesis: 你的意思是这样?那为什么原型中已经有了方法,构造函数还要在实现一遍呢?

支持(0) 反对(0) 帕特菛琦 | 园豆:206 (菜鸟二级) | 2018-02-26 19:03
0

Array.indexOf的用法:Array.indexOf(array, item[, start])表示在array中查找item,返回item的下标,如果不存在返回-1,如果start存在则表示从下标start开始查找

用法显然跟Array.prototype.indexOf不一样,根本就不是一个东西

hehe_54321 | 园豆:750 (小虾三级) | 2018-03-01 13:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册