String,Number,Boolean類型即是基本類型,也是特殊的引用類型。基本包裝類型不能自己創造新的屬性與方法。但是可以使用系統內置的屬性和方法!
實際上,每當讀取一個基本類型值的時候,后臺就會創建一個對應的基本包裝類型的對象,
從而能夠調用一些方法來操作這些數據。
1.字面量寫法:
var box = 'Mr. Lee'; //字面量
box.name = 'Lee'; //無效屬性
box.age = function () { //無效方法
return 100;
};
alert(box); //Mr. Lee
alert(box.substring(2)); //. Lee
alert(typeof box); //string
alert(box.name); //undefined
alert(box.age()); //錯誤
2.new 運算符寫法:
var box = new String('Mr. Lee'); //new 運算符
box.name = 'Lee'; //有效屬性
box.age = function () { //有效方法
return 100;
};
alert(box); //Mr. Lee
alert(box.substring(2)); //. Lee
alert(typeof box); //object
alert(box.name); //Lee
alert(box.age()); //100
以上字面量聲明和new 運算符聲明很好的展示了他們之間的區別。但有一定還是可以
肯定的,那就是不管字面量形式還是new 運算符形式,都可以使用它的內置方法。并且
Boolean 和Number 特性與String 相同,三種類型可以成為基本包裝類型。
PS:在使用new 運算符創建以上三種類型的對象時,可以給自己添加屬性和方法,但
我們建議不要這樣使用,因為這樣會導致根本分不清到底是基本類型值還是引用類型值。