我想知道如何使用原型向数组对象添加自定义函数。
我将函数称为get。 get获取一个索引,并从具有该索引的数组中返回元素。我知道这毫无意义,但是我将其用于教育目的。
这就是使用它的样子。
const a = ['1','2','3'];
a.get(2)----->返回'3'
这是我尝试过的。
Array.prototype.get = index => {
return this[index];
};
let a = ['1','2' ,'3'];
console.log(a.get(1));
这向我返回了不确定的信息。
答案 0 :(得分:1)
通过箭头功能,您无法绑定“ this”,因此在原型环境中,它等于“ window”。
尝试一下:
Array.prototype.get = function(index){
return this[index];
};
答案 1 :(得分:0)
强烈建议您不要扩展/覆盖本机JavaScript内部结构。有很多原因会导致这种危险的做法,并且肯定会在未来花费很多,这是几年前发生在一种著名的JS框架(称为Prototype)上的
2010年4月,博主Juriy'kangax'Zaytsev(Prototype Core的作者)详细描述了猴子将新方法和属性修补到W3C DOM定义的对象中可能带来的问题。[5]这些想法呼应了Yahoo! 2010年3月发表的想法。开发商Nicholas C. Zakas的摘要如下:
- 跨浏览器问题:主机对象不受规则,不兼容的IE DOM行为等的约束。
- 名称冲突的机会
- 性能开销