更新時間:2022-11-21 來源:黑馬程序員 瀏覽量:
字符串對象使用new String()來創(chuàng)建,在String構(gòu)造函數(shù)中傳人字符串,就會在返回的字符串對象中保存這個字符串。示例代碼如下。
var str =new String('apple'); // 創(chuàng)建字符串對象 console.log(str); // 輸出結(jié)果:String {"apple"} console.log(str.length); // 獲取字符串長度,輸出結(jié)果:5
使用“字符串變量.length”的方式也可以進(jìn)行獲取,這種方式很像是在訪問一個對象的 length屬性,示例代碼如下。
實(shí)際上,字符串在JavaScript 中是一種基本包裝類型。JavaScript 中的基本包裝類型包括String、Number和Boolean,用來把基本數(shù)據(jù)類型包裝成為復(fù)雜數(shù)據(jù)類型,從而使基本數(shù)據(jù)類型也有了屬性和方法。
需要注意的是,雖然JavaScript 基本包裝類型的機(jī)制可以使普通變量也能像對象一樣訪問屬性和方法,但它們并不屬于對象類型,示例代碼如下。
var obj= new String('Hello'); console.log(typeof obj); //輸出結(jié)果:object console.log(obj instanceof String); //輸出結(jié)果:ture var str ='Hello'; console.log(typeof str); //輸出結(jié)果:sturing console.log(str instanceof String); //輸出結(jié)果: false
從上述代碼可以看出,使用new String0返回的obi是一個對象,但是普通的字符串變量并不是一個對象,它只是一個字符串類型的數(shù)據(jù)。