试想需要实现一个数组的子类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"))
添加回答
举报
0/150
提交
取消