我刚刚注意到,当我记录当前正在工作的对象的实例时,我看到它的属性(只有一个)后面是原型函数。这让我觉得我做错了什么。
这是我如何设置原型的方式。
我还尝试使用
为什么我会在实例中看到原型方法,如何解决这个问题?
编辑:
例如,这是一个
这是我如何设置原型的方式。
MF = function(x){
if(!(this instanceof MF)) return new MF(x);
this.node = x;
}
MF.prototype = {
show: function(display){
display ? this.node.style.display = display : this.node.style.display = 'block';
},
hide: function(){
this.node.style.display = 'none';
}
}
console.log(MF(window));
我还尝试使用
Object.create()
进行设置,如此答案中建议的那样,但在我的情况下并没有太多意义,但绝望的时候需要不择手段。为什么我会在实例中看到原型方法,如何解决这个问题?
编辑:
例如,这是一个
jQuery
对象的外观,日志中没有显示原型函数。
*.Prototype = []
,但这并不是您想要的。调试器如何表示对象真的很重要吗?您可以使用Object.getOwnPropertyNames确定属于对象本身的属性-这不足够吗? - Emissary