String,Number,Boolean類型即是基本類型,也是特殊的引用類型?;景b類型不能自己創(chuàng)造新的屬性與方法。但是可以使用系統(tǒng)內(nèi)置的屬性和方法!
實際上,每當(dāng)讀取一個基本類型值的時候,后臺就會創(chuàng)建一個對應(yīng)的基本包裝類型的對象,
從而能夠調(diào)用一些方法來操作這些數(shù)據(jù)。
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 運算符聲明很好的展示了他們之間的區(qū)別。但有一定還是可以
肯定的,那就是不管字面量形式還是new 運算符形式,都可以使用它的內(nèi)置方法。并且
Boolean 和Number 特性與String 相同,三種類型可以成為基本包裝類型。
PS:在使用new 運算符創(chuàng)建以上三種類型的對象時,可以給自己添加屬性和方法,但
我們建議不要這樣使用,因為這樣會導(dǎo)致根本分不清到底是基本類型值還是引用類型值。