2017-08-13 47 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