var s1 = 'some text'
var s2 = s1.substring(2)
複製代碼
基本類型值 s1 不是對象,從邏輯上講它們不該該有方法?(但它們確實有方法,why?) 其實在第二行代碼訪問s1時,後臺自動完成了如下處理:bash
// 模擬後臺處理
var o = new String('some text')
var s2 = o.substring(2)
o = null
複製代碼
自動建立的包裝類型只存在於一行代碼執行瞬間,而後當即銷燬。spa
以上三個步驟也適用於Number、Booleancode
var n = 9
n.toFixed(2) // '9.00'
var f = false
f.toString() // 'false'
複製代碼