天天看點

使用JavaScript建立一個字元串對象

讓我們先看一下隐式地方法:開始我們會聲明一個新的變量,并給它賦一個基本類型的新字元串來初始化它。現在試着使用一下typeof()來确認一下變量myStringPrimitive 中的資料就是一個基本字元串:

<html>

<body>

<script type="text/javascript">

var myStringPrimitive= "abc";

document.write( typeof( myStringPrimitive ) );

</script>

</body>

</html>

可是我們仍然可以在它上面使用String對象的方法。JavaScript會把這個字元串從基本類型簡單的轉換成一個臨時的String對象,在它上面使用方法,然後再把資料類型轉換成字元串。我們可以使用String對象的length屬性來試驗一下:

document.write( "<br>" );

document.write( myStringPrimitive.length );

下面試你在浏覽器視窗中會看到結果:

string

3

是以myStringPrimitive 在臨時轉換後仍然儲存着一個基本類型的字元串。我們也可以顯式地建立String對象:使用new關鍵字和構造函數(constructor)String():

var myStringObject = new String( "abc" );

document.write( typeof( myStringObject ) );

document.write( "<br />" );

document.write( myStringObject.length );

加載這個頁面會顯示如下結果:

object

Object

這個腳本和前一腳本的唯一差别就在第一行,我們建立新對象并為這個String對象提供一些字元存儲:

檢查length屬性的結果是一樣的,不管我們是顯式還是隐式地建立String對象。顯式或隐式地建立String對象的唯一真正的差別是如果你要多次重複的使用同樣的字元串,顯式地建立字元串有更高的效率。顯式地建立String對象還有助于防止JavaScript解釋器混淆數值和字元串。

本文轉自 牛海彬 51CTO部落格,原文連結:http://blog.51cto.com/newhappy/76834,如需轉載請自行聯系原作者

繼續閱讀