Object.prototype.valueOf.call("abc")
{ '0': 'a'
, '1': 'b'
, '2': 'c'
}
Object.prototype.valueOf.call(new String("abc"))
{ '0': 'a'
, '1': 'b'
, '2': 'c'
}
根據MDN,JavaScript調用valueOf方法將對象轉換爲原始值。如果對象沒有原始值,則valueOf返回對象本身,顯示爲: 的翻譯: 但上面的valueOf將返回不同的格式,而不是返回原始 { '0': 'a' , '1': 'b' , '2': 'c' }
.Isn't它反對的定義?爲什麼它在格式。現在回來了,這已經造成了混亂。如何知道是什麼如果對數組和其他對象調用Object.prototype.valueOf.call(array),將返回。Object.prototype.valueOf()方法
也是爲什麼返回對象形式{}.valueOf()
得到,因爲從[].valueOf()
方法返回記錄顯示任何內容時顯示
我不確定你在做什麼,json作品是做什麼的? :'{ '0': 'A' , '1': 'B' , '2': 'C' }'? – gideon
你從哪裏得到'[object ObjectName]?這可能是在返回的對象上調用toString的結果(例如,當執行'alert(object)'或'console.log(object)'時。 – RobG
@RobG [object ObjectName]如果通過調用valueOf Object.prototype.valueOf(「串」) –