2017-08-13 81 views
1

在Javascript中,我知道设置类对象类似于下面。如何设置JavaScript对象的默认__self__属性

var myobj = { 
    prop: 123, 
    prop2: 234, 
    prop3: 345 
}; 

现在,如果我想从myobj得到任何东西,我必须引用myobject中的变量;例如:myobj.propmyobj.prop2

我可以设置默认属性,并参考myobj作为一个整体,并返回默认属性?类似于python中的__self__元属性?

谢谢...

+2

但是,你如何参考对象本身?注意:在Python中,'__self__'是为对象的方法而不是对象本身定义的。 – trincot

+0

嗨@Teemu,你能提供一个例子吗? – arcee123

+0

谢谢....花了我一分钟才明白你在说什么。谢谢! – arcee123

回答

1

在表达式中,让普通的对象引用返回预定值,而不是一个参考,你可以覆盖对象的valueOf方法,像这样:

var myobj = { 
 
    prop: 123, 
 
    prop2: 234, 
 
    prop3: 345 
 
}; 
 
myobj.valueOf = function() {return 100;}; 
 

 
console.log(100 + myobj); 
 
// The object name still works as a reference 
 
console.log(myobj.prop);

+0

这就是我要找的。非常感谢! – arcee123

+0

@ arcee123请注意,当将'myobj'记录到控制台时,您将获得对象描述,控制台不会使用对象的'valueOf'方法。 – Teemu

+0

复制该。谢谢 – arcee123