对象可以定义属性以使用自己的方法吗?
点这个
obj = {
prt:function(){console.log("HELLO")}
prt0:obj.prt()
}
我想要obj.prt0->“ HELLO”
答案 0 :(得分:3)
var obj = {
prt:function(){
console.log("HELLO")
return "HELLO";
},
prt0: function(){
this.prt()
}
}
obj.prt0; //do nothing, it is only a method
obj.prt0(); //execute method, will print Hello
答案 1 :(得分:1)
如果您希望obj.prt0
具有"HELLO"
的值,那么您将以正确的方式进行操作-使用this
使其更容易,并确保您{{ 1}}。此外,您还需要在创建对象后定义return
:
prt0
以上方法确实调用let obj = {
prt: function() {
console.log("HELLO");
return "HELLO";
}
};
obj.prt0 = obj.prt();
console.log(obj.prt0);
来创建值。如果您希望obj.prt
是对prt0
的引用-因此,如果您调用prt
会调用prt0
,则可以执行以下操作:
prt
以上内容还将调用let obj = {
prt: function() {
console.log("HELLO");
return "HELLO";
}
};
obj.prt0 = obj.prt;
console.log(obj.prt0());
两次。