3
在JavaScript中,您可以調用函數作爲函數或構造函數。例如,你可以這樣做:與原始值相反,數值/布爾值/字符串對象的用途是什麼?
myObject = new Number(13);
myPrimitiveValue = Number(13);
或者乾脆
myPrimitiveValue = 13;
我理解的結果之間的差異。你能解釋一下在哪個合理的情況下創建一個數字,布爾值或字符串作爲對象是可取的?例如,設置新屬性的能力(這是你可以在對象上做的事情,但對原始值無法做到)對於包含數字/布爾/字符串的對象幾乎總是一個壞主意。爲什麼我需要一個數字/布爾/字符串對象?
感謝你爲這個,它有一定道理。但是這是一個有點有點奇怪,你不覺得嗎?考慮其他腳本語言,例如lua,在那裏沒有這樣的東西,表格(jscript對象的模擬)是一個表和數字/字符串/布爾是數字/字符串布爾。對比很不同的語言是不公平的,但是javascript對此很陌生。閱讀ECMAScript規範我有一個明顯的感覺,它是事後編寫的,描述了一些已經存在的實現。 – 2010-06-14 09:28:44
@zes pri:也許這些包裝器受到了Java中類似的包裝的啓發,但它們在腳本語言中並沒有那麼有用。您說得對,該規範是基於現有的實現,JavaScript於1995年12月宣佈,並且規範於1997年6月通過。http://en.wikipedia.org/wiki/ECMAScript – Guffa 2010-06-14 10:05:59