为了账号安全,请及时绑定邮箱和手机立即绑定

js中如何继承实现Array的子类

js中如何继承实现Array的子类

幕布斯7119047 2019-04-16 16:58:31
试想需要实现一个数组的子类ZeroArray,其构造函数接收一个长度参数n,自动初始化数组元素都为0。我试图继承原生的Array类型,成员变量通过apply()方法窃取,成员方法则通过原型链引用。代码如下:functionZeroArray(n){//构造函数窃取Array.apply(this);//自动塞入0元素for(vari=0;i
查看完整描述

2 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

你提了个有意思的问题,只指出一点,但解决不了你的问题。
继承的话,下面这种写法更好。
functionZeroArray(n){
//自动塞入0元素
for(vari=0;ithis.valueOf().push(0);
}
}
ZeroArray.prototype=[];
//但enumerable和configurable依旧变了
console.log(Object.getOwnPropertyDescriptor([1,2,3],"length"))
console.log(Object.getOwnPropertyDescriptor(newZeroArray(3),"length"))
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 306 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信