Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取';这';从Object.defineProperties()定义的函数调用_Javascript_Jquery - Fatal编程技术网

Javascript 获取';这';从Object.defineProperties()定义的函数调用

Javascript 获取';这';从Object.defineProperties()定义的函数调用,javascript,jquery,Javascript,Jquery,我正在尝试使用JavaScript向对象的\uuu proto\uu添加一个函数 显然,jQuery在将原型函数定义为Object.prototype.myFunc=function(){}时存在一些问题

我正在尝试使用JavaScript向
对象的
\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;
},