1:字元串 JS中的任何數據類型都可以當作對象來看。所以string既是基本數據類型,又是對象。 2:聲明字元串 var sStr = ‘字元串’; var oStr = new String(‘字元串’); 3:字元串屬性 1.length 計算字元串的長度(不區分中英文)。 2.construc ...
1:字元串
JS中的任何數據類型都可以當作對象來看。所以string既是基本數據類型,又是對象。
2:聲明字元串
var sStr = ‘字元串’;
var oStr = new String(‘字元串’);
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字元。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。
// 創建字元串
// var str = 'hello world';
// var str = new String('hello world!');
// 屬性
// console.log(str.length);
// console.log(str.constructor);
// 方法
// console.log(str.charAt(4));
// console.log(str.charCodeAt(4)); // 111
// console.log(String.fromCharCode(109));
// console.log(str.indexOf('l', 4));
// console.log(str.lastIndexOf('l', 8));
// console.log(str.match('ll'));
// console.log(str.search('ll'));
// console.log(str.replace('ll', '**'));
// console.log(str.slice(2,6));
// console.log(str.slice(-4,-2));
// console.log(str.substring(2, 6));
// console.log(str.substr(-5, 3));
/*var str = 'a=b&c=d&e=f';
// ['a=b', 'c=d', 'e=f']
var arr = str.split('&');
var obj = {};
arr.forEach(function (v) {
// ['a', 'b']
var temp = v.split('=');
// 'a'
var key = temp[0];
// 'b'
var val = temp[1];
// obj['a'] = 'b';
obj[key] = val;
});
console.log(obj);*/
/*var str = 'Hello World';
console.log(str.toUpperCase());
console.log(str.toLowerCase());*/