常用的原生函數有:
• String()
• Number()
• Boolean()
• Array()
• Object()
• Function()
• RegExp()
• Date()
• Error()
• Symbol()——ES6 中新加入的!
實際上,它們就是內建函數。
熟 悉 Java 語 言 的 人 會發現,JavaScript 中 的 String() 和 Java 中的字符串構造函數 String(..) 非常相似,可以這樣來用:
var s = new String( "Hello World!" );
console.log( s.toString() ); // "Hello World!"
原生函數可以被當作構造函數來使用,但其構造出來的對象可能會和我們設想的有所 出入:
通過構造函數(如 new String("abc"))創建出來的是封裝了基本類型值(如 "abc")的封 裝對象
請注意:typeof 在這裡返回的是對象類型的子類型。
可以這樣來查看封裝對象:
console.log( a );
由於不同瀏覽器在開發控制檯中顯示對象的方式不同(對象序列化 ), 所以上面的輸出結果也不盡相同。
再次強調,new String("abc") 創建的是字符串 "abc" 的封裝對象,而非基本類型值 "abc"。