caoporm97国产在线视频|欧美性XXXXX精品|一本一道久久a久久精品综合开|精品久久久久久久久久久AⅤ|

十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
小程序
tel-icon全國服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

詳細(xì)分析ECMAScript String類型規(guī)則及應(yīng)用

百恒網(wǎng)絡(luò) 2012-02-10 5307

ECMAScript String類型

String類型用于表示由零或多個(gè)16位Unicode字符組成的字符序列,即字符串。字符串可以由雙引號(hào)(”)或單引號(hào)(’)表示,因此下面兩種字符串的寫法都是有效的:

var firstName="Nicholas";

var lastName=’Zakas’:

與PHP中的雙引號(hào)和單引號(hào)會(huì)影響對(duì)字符串的解釋方式不同,ECMAScript中的這兩種語法形式?jīng)]有什么區(qū)別。用雙引號(hào)表示的字符串和用單引號(hào)表示的字符串完全相同。不過,以雙引號(hào)開頭的字符串也必須以雙引號(hào)結(jié)尾,而以單引號(hào)開頭的字符串必須以單引號(hào)結(jié)尾。例如,下面這種字符串表示法會(huì)導(dǎo)致語法錯(cuò)誤:

var firstName='Nicholas";//語法錯(cuò)誤(左右引號(hào)必須匹配)

1.字符字面量

String數(shù)據(jù)類型包含一些特殊的字符字面量,也叫轉(zhuǎn)義序列,用于表示非打印字符,或者具有其他用途的字符。這些字符字面量如下表所示:

字面量含義

n換行

t制表

b空格

r回車

f進(jìn)紙

\斜杠

'單引號(hào)('),在用單引號(hào)表示的字符串中使用.例如:'喂,您好這里是南昌做網(wǎng)站公司,'百恒網(wǎng)絡(luò)''

"雙引號(hào)("),在用雙引號(hào)表示的字符串中使用.例如:"請(qǐng)問,南昌網(wǎng)頁設(shè)計(jì)公司那家最好,"百恒網(wǎng)絡(luò)""

xnn以十六進(jìn)制代碼nn表示的一個(gè)字符(其中n為0-F),例如:x41表示"A"

unnnn以十六進(jìn)制代碼nnnn表示的一個(gè)Unicode字符(其中n為0-F),例如:u03a3表示希臘字符∑

這些字符字面量可以出現(xiàn)在字符串中的任意位置,而且也將被作為一個(gè)字符來解析,如下面的例子所示:

var text=¨This is the letter sigma: u03a3.”;

這個(gè)例子中的變量text有28個(gè)字符,其申6個(gè)字符長(zhǎng)的轉(zhuǎn)義序列表示1個(gè)字符。

任何字符串的長(zhǎng)度都可以通過訪問其length屬性取得,例如:

alert(text .length);//輸出28

這個(gè)屬性返回了這個(gè)字符串中16位字符的數(shù)目。如果字符串中包含雙字節(jié)字符,那么length屬性可能不會(huì)精確地返回字符串中的字符數(shù)目。

2.字符串的特點(diǎn)

南昌網(wǎng)站建設(shè)公司百恒網(wǎng)絡(luò)前端開發(fā)工程師提醒廣大從事企業(yè)網(wǎng)站建設(shè)技術(shù)人員,ECMAScript中的字符串是不可變的,也就是說,字符串一旦創(chuàng)建,它們的值就不能改變。要改變某個(gè)變量保存的字符串,首先要銷毀原來的字符串,然后再用另一個(gè)包含新值的字符串填充該變量,例如:

var lang="Java";

lang=lang+"Script";

以上示例中的變量lang開始時(shí)包含字符串”Java”。而第二行代碼把lang的值重新定義為”Java "與”Script”的組合,即”JavaScript”。實(shí)現(xiàn)這個(gè)操作的過程如下:首先創(chuàng)建一個(gè)能容納10個(gè)字符的新字符串,然后在這個(gè)字符串中填充”Java”和”Script”,最后一步是銷毀原來的字符串”Java”和字符串”Script”,因?yàn)檫@兩個(gè)字符串已經(jīng)沒用了。這個(gè)過程是在后臺(tái)發(fā)生的,而這也是在某些舊版本的瀏覽器(例如版本低于1.0的Firefox. IE6等)中拼接字符串時(shí)速度很惺的原因所在。但這些瀏覽器后來的版本已經(jīng)解決了這個(gè)低效率問題。

3.轉(zhuǎn)換為字符串

要把一個(gè)值轉(zhuǎn)換為一個(gè)字符串有兩種方式。第一種是使用幾乎每個(gè)值都有的toString()方法。這個(gè)方法唯一要做的就是返回相應(yīng)值的字符串表現(xiàn)。來看下面的例子:

var age=11;

var ageAsString=age.toString(); //字符串"11"

var found=true;

var foundAsString=found.toString()j //字符串"true"

數(shù)值、布爾值、對(duì)象和字符串值(沒錯(cuò),每個(gè)字符串也都有一個(gè)toString()方法,該方法返回字符串的一個(gè)副本)都有toString()方法。但null和unde fined值沒有這個(gè)方法。

南昌網(wǎng)絡(luò)公司工程師總結(jié):多數(shù)情況下,調(diào)用toString()方法不必傳遞參數(shù)。但是,在調(diào)用數(shù)值的toString()方法時(shí),可以傳遞一個(gè)參數(shù):輸出數(shù)值的基數(shù)。默認(rèn)情況下,toString()方法以十進(jìn)制格式返回?cái)?shù)值的字符串表示。而通過傳遞基數(shù),toString()可以輸出以二進(jìn)制、八進(jìn)制、十六進(jìn)制,乃至其他任意有效進(jìn)制格式表示的字符串值。下面給出幾個(gè)例子:

var nuffi=10;

alert (num.toString()); // "10"

alert(num.toString(2)); // "1010u

alert (num. toString(8)); // "12”

alert (num.toString (10)); // "10”

alert(num.toString (16)); //"a"

通過這個(gè)例子可以看出,通過指定基數(shù),toString()方法會(huì)改變輸出的值。而數(shù)值10根據(jù)基數(shù)的不同,可以在輸出時(shí)被轉(zhuǎn)換為不同的數(shù)值格式。注意,默認(rèn)的(沒有參數(shù)的)輸出值與指定基數(shù)10 時(shí)的輸出值相同。

在不知道要轉(zhuǎn)換的值是不是null或unde fined的情況下,還可以使用轉(zhuǎn)型函數(shù)String(),這個(gè)函數(shù)能夠?qū)⑷魏晤愋偷闹缔D(zhuǎn)換為字符串。String()函數(shù)遵循下列轉(zhuǎn)換規(guī)則:

口如果值有toString()方法,則調(diào)用該方法(沒有參數(shù))并返回相應(yīng)的結(jié)果;

口如果值是null,則返回”null”;

口如果值是undefined,則返回”undefined”。

下面再看幾個(gè)例子:

var valuel=10;

var value2=true;

var value3=null;

var value4;

alert(String (valuel))j //"lo"

alert (String (value2));//"true"

Lng(value3)); //"null" //" undefined

這里先后轉(zhuǎn)換了4個(gè)值:數(shù)值、布爾值、“null”和”unde fined”。數(shù)值和布爾值的轉(zhuǎn)換結(jié)果與調(diào)用toString()方法得到的結(jié)果相同。因?yàn)椤眓ull”和”unde fined”沒有toString()方法,所以String()函數(shù)就返回了這兩個(gè)值的字面量。

希望對(duì)廣大站長(zhǎng)或網(wǎng)站建設(shè)公司的團(tuán)隊(duì)有所幫助,如對(duì)此不太理解的,可以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高與廣大站長(zhǎng)和網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗(yàn)。


400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×