物件定義:
var obj = {
x: 10,
valueOf: function(){ return this.x + 30; },
toString: function(){ return this.valueOf() + 10; }
};執行結果:
alert(obj) → 呼叫 toString() → 回傳 50。+obj → 呼叫 valueOf() → 回傳 40,再轉為數字 40。規則:
alert、字串連接)優先呼叫 toString(),若無則呼叫 valueOf()。+、數學運算)優先呼叫 valueOf(),若無則呼叫 toString() 再轉數字。此例中 toString 內部呼叫 valueOf,故 alert 得 50,+obj 得 40。