三個(gè)特殊引用類型
Boolean、Number 和 String
引用類型和基本包裝類型的主要區(qū)別就是對(duì)象的生存期。使用 new 操作符創(chuàng)建的引用類型的實(shí)例,在執(zhí)行流離開當(dāng)前作用域之前都一直保存在內(nèi)存中。而自動(dòng)創(chuàng)建的基本包裝類型對(duì)象,則只存在于一行代碼的執(zhí)行瞬間,然后立即被銷毀。
Boolean 類型
var booleanObject = new Boolean(true)
valueOf() 返回 true 或 false
toString() 返回 "true" 或 "false"
Boolean 基本類型和引用類型還有兩個(gè)區(qū)別:
var falseObject = new Boolean(false);
var falseValue = false;
console.log(typeof falseObject); //object
console.log(typeof falseValue); //boolean
console.log(falseObject instanceof Boolean); //true
console.log(falseValue instanceof Boolean); //false
Number 類型
var numberObject = new Number(10);
valueOf() 返回對(duì)象表示的基本類型的數(shù)值
toString() 返回字符串形式的數(shù)值,可傳遞一個(gè)表示基數(shù)的參數(shù),告訴它返回幾進(jìn)制數(shù)值的字符串形式
toLocaleString() 返回字符串形式的數(shù)值
toFixed(num) 按照指定的小數(shù)位返回?cái)?shù)值的字符串表示
toExponential(num) 返回以指數(shù)表示法,表示的數(shù)值的字符串形式(num 表示小數(shù)位數(shù))
toPrecision(num) 根據(jù)情況返回固定大?。╢ixed)格式,也可能返回指數(shù)(exponential)格式。
String 類型
var stringObject = new String("hello world");
valueOf(), toLocaleString(), toString() 方法都返回對(duì)象所表示的基本字符串值。
- 字符方法
- charAt() 以單字符字符串的形式返回給定位置的那個(gè)字符
- charCodeAt() 返回給定位置的字符編碼
-使用方括號(hào)加數(shù)字索引來訪問字符串中的特定字符var stringValue = "hello world"; alert(stringValue[1]); //"e"
- 字符串操作方法
- concat() 用于將一或多個(gè)字符串拼接起來,返回拼接得到的新字符串
- slice() 第二個(gè)參數(shù)指定的是子字符串最后一個(gè)字符后面的位置。
- substr() 第二個(gè)參數(shù)指定的是返回的字符個(gè)數(shù)。
- substring() 第二個(gè)參數(shù)指定的是子字符串最后一個(gè)字符后面的位置。
上面三個(gè)方法可接受一或兩個(gè)參數(shù),第一個(gè)參數(shù)指定字符串的開始位置,第二個(gè)參數(shù)表示子字符串到哪里結(jié)束。
若傳入負(fù)數(shù),三個(gè)方法的行為就不同了。slice() 方法會(huì)將傳入的負(fù)值與字符串的長(zhǎng)度相加,substr() 方法將負(fù)的第一個(gè)數(shù)加上字符串的長(zhǎng)度,而將負(fù)的第二個(gè)參數(shù)轉(zhuǎn)換為0.最后,substring() 方法會(huì)把所有負(fù)值參數(shù)都轉(zhuǎn)換為0。

- 字符串位置方法
- indexOf()
- lastIndexOf()
- trim() 創(chuàng)建一個(gè)字符串副本,刪除前置及后綴的所有空格。
- 字符串大小寫轉(zhuǎn)換方法
- toLowerCase()
- toLocaleLowerCase()
- toUpperCase()
- toLocalUpperCase()
- 字符串的模式匹配方法
- match() 可在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配,存放匹配結(jié)果的數(shù)組。該數(shù)組的內(nèi)容依賴于 regexp 是否具有全局標(biāo)志 g。
var text = "cat, bat, sat, fat";
var pattern = /.at/;
var matches = text.match(pattern);
console.log(matches.index); //0
console.log(matches[0]); //"cat"
console.log(pattern.lastIndex); //0
console.log(matches);//["cat",index,input:"cat, bat, sat, fat",groups:undefined]
console.log(text.match(/.at/g)); //["cat", "bat", "sat", "fat"]
- search() 參數(shù)為字符串或正則表達(dá)式,返回字符串中第一個(gè)匹配項(xiàng)的索引
-
replace()
replace()實(shí)例1
replace()實(shí)例2
replace()實(shí)例3 - split()
-
localCompare()
localCompare() - fromCharCode() 接收一或多個(gè)字符編碼,然后將它們轉(zhuǎn)換成一個(gè)字符串



