1. 程式人生 > >從零開始學習前端JAVASCRIPT — 3、JavaScript基礎string字符串介紹

從零開始學習前端JAVASCRIPT — 3、JavaScript基礎string字符串介紹

con post ccf har 區分 nal ase star hid

1:字符串

JS中的任何數據類型都可以當作對象來看。所以string既是基本數據類型,又是對象。


2:聲明字符串

基本數據類型:var sStr = ‘字符串’;

對象的方法:var oStr = new String(‘字符串’);

技術分享圖片
        //統計每個字符出現的次數,結果顯示 a 2、b 1、c 2、d1,去掉重復的字符,使結果顯示 abcdfgj。
        //var定義的變量賦值字符串以對象[]的方式訪問單個字符IE8以上支持
        var str="abcdafgcj";
        var arr={};
        var newstr="";
        
for (var i = 0; i < str.length; i++) { if (arr[str[i]]) { arr[str[i]]++; } else { arr[str[i]]=1; } } for(newarr in arr){ newstr+=newarr+":"+arr[newarr]+"、"; } document.write(newstr)
//以string.charAt方式獲取字符串對應位置的值兼容低版本瀏覽器 var str="abcdafgcj"; var arr={}; var newstr=""; for (var i = 0; i < str.length; i++) { var code=str.charAt(i); if (arr[code]) { arr[code]++; } else { arr[code]
=1; } } for(newarr in arr){ newstr+=newarr+":"+arr[newarr]+"、"; } document.write(newstr)
聲明字符串使用demo

3:字符串屬性

1.length: 計算字符串的長度(不區分中英文)。

2.constructor:對象的構造函數。


4:字符串方法

序號 方法名 作用
1 myStr.charAt(num) 返回在指定位置的字符
2 myStr.charCodeAt(num) 返回指定位置的字符的Unicode(是字符編碼的一種模式)編碼。
3 String.fromCharCode() String的意思就是不能用自己定義的字符串名字來調用,例如定義一個變量字符串 var str="";只能用String來定義調用。接受一個或多個指定的Unicode值,然後返回一個或多個字符串。(把unicode編碼轉換為字符串)。
4 myStr.indexOf() 返回某個指定的字符串,在字符串中首次出現的位置。如果要檢索的字符串值沒有出現,則該方法返回 -1。第二個參數指定開始查找的起始位置。
5 myStr.lastIndexOf() 返回一個指定的字符串值最後出現的位置,如果要檢索的字符串值沒有出現,則該方法返回 -1。第二個參數指定開始查找的起始位置,只能指定正數。
6 myStr.match() 在字符串中檢索指定的值,返回的值是數組。如果匹配不到返回null。配合正則來用。
7 myStr.search() 返回出現的位置,查找不到返回-1。配合正則來用。
8 myStr.replace(“需替換的字符串”,“替換後的字符串”) 將字符串中的一些字符替換為另外一些字符。配合正則使用。
9 myStr.slice(start,end) 從指定的開始位置,到結束位置(不包括結束位置)的所有字符串。如果不指定結束位置,則從指定的開始位置,取到結尾。註意的是,myStr.slice() 與 myArr.slice() 相似。
10 myStr.substring(start,end) 從指定的開始位置,到結束位置(不包括)的所有字符串。如果不指定結束位置,則從指定的開始位置,取到結尾。
11 substr(start,length)

從指定的位置開始取指定長度的字符串。如果沒有指定長度,從指定開始的位置取到結尾。 ECMAscript 沒有對該方法進行標準化,因此反對使用它

如果substr的start指定為負數,則該參數聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最後一個字符,-2 指倒數第二個字符,以此類推。

slice(start,end) vs substring(start,end) :slice參數可以是負數,如果是負數,從-1開始指的是字符串結尾。substring參數是負數的時候,會自動轉換為0。

12 split("分割位置",[指定的長度]) 將一個字符串分割成數組。
13 toLowerCase() 用於把字符串轉換為小寫。
14 toUpperCase() 將字符串轉換為大寫。


5:ASCII碼和字符集

ASCII:American Standard Code for Information Interchange,美國信息交換標準代碼。

技術分享圖片

Unicode編碼:

Unicode(統一碼、萬國碼、單一碼)是計算機科學領域裏的一項業界標準,包括字符集、編碼方案等。Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一並且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。 Unicode目前普遍采用的是UCS-2,它用兩個字節來編碼一個字符。

如漢字"經"的編碼是0x7ECF,註意字符碼一般用十六進制來 表示,為了與十進制區分,十六進制以0x開頭,0x7ECF轉換成十進制 就是32463,UCS-2用兩個字節來編碼字符,兩個字節就是16位二進制, 2的16次方等於65536,所以UCS-2最多能編碼65536個字符。

GBK編碼:

GBK全稱《漢字內碼擴展規範》(GBK即“國標”、“擴展”漢語拼音的第一個字母,英文名稱:Chinese Internal Code Specification)。GBK 向下與GB2312編碼兼容,向上支持 ISO 10646.1國際標準,是前者向後者過渡過程中的一個承上啟下的產物。

UTF-8編碼:

UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼。 UTF-8用1到4個字節編碼UNICODE字符。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

從零開始學習前端JAVASCRIPT — 3、JavaScript基礎string字符串介紹