Javascript 获取';这';从Object.defineProperties()定义的函数调用
我正在尝试使用JavaScript向Javascript 获取';这';从Object.defineProperties()定义的函数调用,javascript,jquery,Javascript,Jquery,我正在尝试使用JavaScript向对象的\uuu proto\uu添加一个函数 显然,jQuery在将原型函数定义为Object.prototype.myFunc=function(){}时存在一些问题
对象的\uuu proto\uu
添加一个函数
显然,jQuery在将原型函数定义为Object.prototype.myFunc=function(){}时存在一些问题因此,我找到的最佳解决方法是使用Object.defineProperties()
,这样我就可以将enumerable
设置为false
,从而使用jQuery
我正在尝试使用以下代码
Object.defineProperties(Object.prototype{
长度:{
值:(函数(){
返回Object.keys(this.length);
})(),
可枚举:false
}
});
但是当使用Objects.defineProperties()
时,该关键字的工作方式与上的不同
Object.prototype.myFunc=function(){
返回Object.keys(this.length);
};
如何使用Object.defineProperties()
或类似的解决方法获得与上述代码相同的结果?如何通过get()
更改值
属性
您可以替换:
value: (function () {
return Object.keys(this).length;
})(),
与:
Object.defineProperties(Object.prototype{
长度:{
得到(){
返回Object.keys(this.length);
},
可枚举:false,
}
});
常数obj1={
答:1,,
b:2,
c:3,
};
常数obj2={
答:1,,
b:2,
c:3,
d:4,
e:5,
};
console.log('obj1.length:',obj1.length);
console.log('obj2.length:',obj2.length)代码>
get() {
return Object.keys(this).length;
},