十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      詳細分析ECMAScript String類型規則及應用

      百恒網絡 2012-02-10 5681

      ECMAScript String類型

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

      var firstName="Nicholas";

      var lastName=’Zakas’:

      與PHP中的雙引號和單引號會影響對字符串的解釋方式不同,ECMAScript中的這兩種語法形式沒有什么區別。用雙引號表示的字符串和用單引號表示的字符串完全相同。不過,以雙引號開頭的字符串也必須以雙引號結尾,而以單引號開頭的字符串必須以單引號結尾。例如,下面這種字符串表示法會導致語法錯誤:

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

      1.字符字面量

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

      字面量含義

      n換行

      t制表

      b空格

      r回車

      f進紙

      \斜杠

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

      "雙引號("),在用雙引號表示的字符串中使用.例如:"請問,南昌網頁設計公司那家最好,"百恒網絡""

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

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

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

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

      這個例子中的變量text有28個字符,其申6個字符長的轉義序列表示1個字符。

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

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

      這個屬性返回了這個字符串中16位字符的數目。如果字符串中包含雙字節字符,那么length屬性可能不會精確地返回字符串中的字符數目。

      2.字符串的特點

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

      var lang="Java";

      lang=lang+"Script";

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

      3.轉換為字符串

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

      var age=11;

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

      var found=true;

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

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

      南昌網絡公司工程師總結:多數情況下,調用toString()方法不必傳遞參數。但是,在調用數值的toString()方法時,可以傳遞一個參數:輸出數值的基數。默認情況下,toString()方法以十進制格式返回數值的字符串表示。而通過傳遞基數,toString()可以輸出以二進制、八進制、十六進制,乃至其他任意有效進制格式表示的字符串值。下面給出幾個例子:

      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"

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

      在不知道要轉換的值是不是null或unde fined的情況下,還可以使用轉型函數String(),這個函數能夠將任何類型的值轉換為字符串。String()函數遵循下列轉換規則:

      口如果值有toString()方法,則調用該方法(沒有參數)并返回相應的結果;

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

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

      下面再看幾個例子:

      var valuel=10;

      var value2=true;

      var value3=null;

      var value4;

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

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

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

      這里先后轉換了4個值:數值、布爾值、“null”和”unde fined”。數值和布爾值的轉換結果與調用toString()方法得到的結果相同。因為”null”和”unde fined”沒有toString()方法,所以String()函數就返回了這兩個值的字面量。

      希望對廣大站長或網站建設公司的團隊有所幫助,如對此不太理解的,可以與南昌網絡公司百恒網絡技術部聯系。我們很高與廣大站長和網站建設公司技術人員分享我們的技術和經驗。


      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      精品无码国产一区二区三区麻豆| 久久99精品久久久久久久久久| 久久久久无码精品亚洲日韩| 亚洲色偷精品一区二区三区| 91精品国产乱码在线观看| 青青青国产依人精品视频| 99久久精品国产麻豆| 国产精品原创巨作?v网站| 香蕉视频在线精品| 亚洲日韩精品一区二区三区| 思思91精品国产综合在线| 久久亚洲精品无码av| 精品久久久久成人码免费动漫| 91亚洲精品麻豆| 久久久久久九九99精品| 久久精品亚洲中文字幕无码网站| 中文字幕久久精品无码| 国产在线91精品入口| 国产精品污WWW一区二区三区| 日韩加勒比一本无码精品| 亚洲日韩激情无码一区| 国产模特众筹精品视频| 国产馆精品推荐在线观看| 久久国产精品成人无码网站| 98色精品视频在线| 国产成人综合一区精品| 99久久免费国产精品特黄| 国产精品青青在线麻豆| 久久99热这里只有精品66| 亚洲人精品亚洲人成在线| 91精品福利一区二区| 国内精品伊人久久久影院| 久久夜色精品国产噜噜亚洲a| 国内精品免费麻豆网站91麻豆| 国产精品亚洲精品观看不卡| 久久九九兔免费精品6| 中文字幕色婷婷在线精品中| 国产精品福利一区二区久久| 99久久er这里只有精品18| 69久久夜色精品国产69| 99久久做夜夜爱天天做精品|