一鳍烁、獲取字符串指定位置的值
charAt()和charCodeAt()方法都可以通過(guò)索引來(lái)獲取指定位置的值:
- charAt() 方法獲取到的是指定位置的字符级野;
- charCodeAt()方法獲取的是指定位置字符的Unicode值笔横。
1. charAt()
語(yǔ)法: str.charAt(index)
參數(shù):index
- 一個(gè)介于0 和字符串長(zhǎng)度減1之間的整數(shù)。 (0~length-1)
- 如果沒(méi)有提供索引摄欲,charAt() 將使用0挣输。
字符串中的字符從左向右索引,第一個(gè)字符的索引值為 0捐寥,最后一個(gè)字符(假設(shè)該字符位于字符串 stringName 中)的索引值為 stringName.length - 1笤昨。 如果指定的 index 值超出了該范圍,則返回一個(gè)空字符串握恳。
const str = 'hello';
str.charAt(1) // 輸出結(jié)果:e
我們知道瞒窒,字符串也可以通過(guò)索引值來(lái)直接獲取對(duì)應(yīng)字符,那它和charAt()有什么區(qū)別呢乡洼?來(lái)看例子:
const str = 'hello';
str.charAt(1) // 輸出結(jié)果:e
str[1] // 輸出結(jié)果:e
str.charAt(5) // 輸出結(jié)果:''
str[5] // 輸出結(jié)果:undefined
可以看到崇裁,當(dāng)index的取值不在str的長(zhǎng)度范圍內(nèi)時(shí)匕坯,str[index]會(huì)返回undefined,而charAt(index)會(huì)返回空字符串寇壳;除此之外醒颖,str[index]不兼容ie6-ie8,charAt(index)可以兼容壳炎。
2. charCodeAt()
語(yǔ)法: str.charCodeAt(index)
參數(shù):
- index: 一個(gè)大于等于 0泞歉,小于字符串長(zhǎng)度的整數(shù)。如果不是一個(gè)數(shù)值匿辩,則默認(rèn)為 0腰耙。
該方法會(huì)返回指定索引位置字符的 Unicode
值,返回值是 0 - 65535
之間的整數(shù)铲球,表示給定索引處的 UTF-16
代碼單元挺庞,如果指定位置沒(méi)有字符,將返回 NaN
let str = "abcdefg";
console.log(str.charCodeAt(1)); // "b" --> 98
通過(guò)這個(gè)方法稼病,可以獲取字符串中指定Unicode編碼值范圍的字符选侨。比如,數(shù)字0~9的Unicode編碼范圍是: 48~57然走,可以通過(guò)這個(gè)方法來(lái)篩選字符串中的數(shù)字援制,當(dāng)然如果你更熟悉正則表達(dá)式,會(huì)更方便芍瑞。
二晨仑、檢索字符串是否包含特定序列
這5個(gè)方法都可以用來(lái)檢索一個(gè)字符串中是否包含特定的序列。其中前兩個(gè)方法得到的指定元素的索引值拆檬,并且只會(huì)返回第一次匹配到的值的位置洪己。后三個(gè)方法返回的是布爾值,表示是否匹配到指定的值竟贯。
注意:這5個(gè)方法都對(duì)大小寫敏感答捕!
1. indexOf()
語(yǔ)法: string.indexOf(searchvalue,fromindex)
從左向右查找某個(gè)字符,有則返回第一次匹配到的位置澄耍,否則返回-1
參數(shù):
-
searchvalue:要被查找的字符串值噪珊。
如果沒(méi)有提供確切地提供字符串,searchValue 會(huì)被強(qiáng)制設(shè)置為 "undefined"齐莲, 然后在當(dāng)前字符串中查找這個(gè)值。
舉個(gè)例子:'undefined'.indexOf() 將會(huì)返回0磷箕,因?yàn)?undefined 在位置0處被找到选酗,但是 'undefine'.indexOf() 將會(huì)返回 -1 ,因?yàn)樽址?'undefined' 未被找到岳枷。
-
fromindex:數(shù)字表示開始查找的位置芒填∥亟校可以是任意整數(shù),默認(rèn)值為 0殿衰。
如果 fromIndex 的值小于 0朱庆,或者大于 str.length 泽论,那么查找分別從 0 和str.length 開始漓库。(fromIndex 的值小于 0亦鳞,等同于為空情況晨抡; fromIndex 的值大于或等于 str.length 雏吭,那么結(jié)果會(huì)直接返回 -1 见剩。)
let str = "abcdefgabc";
console.log(str.indexOf("a")); // 輸出結(jié)果:0
console.log(str.indexOf("z")); // 輸出結(jié)果:-1
console.log(str.indexOf("c", 4)) // 輸出結(jié)果:9
console.log(str.indexOf("c", 10)) // 輸出結(jié)果:-1
2. lastIndexOf()
語(yǔ)法:str.lastIndexOf(searchValue, fromIndex)
查找某個(gè)字符期揪,有則返回最后一次匹配到的位置唐础,否則返回-1
該方法將從尾到頭地檢索字符串 str悟衩,看它是否含有子串 searchValue剧罩。開始檢索的位置在字符串的 fromIndex 處或字符串的結(jié)尾(沒(méi)有指定 fromIndex 時(shí))。如果找到一個(gè) searchValue座泳,則返回 searchValue 的第一個(gè)字符在 str 中的位置(這個(gè)位置的數(shù)字是從左到右的計(jì)數(shù)原則計(jì)數(shù)的)惠昔。
參數(shù):
searchValue:一個(gè)字符串,表示被查找的值挑势。如果searchValue是空字符串镇防,則返回fromIndex。
-
fromIndex(可選)
待匹配字符串searchValue的開頭一位字符從 str的第fromIndex位開始向左回向查找薛耻。fromIndex默認(rèn)值是 +Infinity营罢。如果 fromIndex >= str.length ,則會(huì)搜索整個(gè)字符串饼齿。如果 fromIndex < 0 饲漾,則等同于 fromIndex == 0。
let str = "abcabc";
console.log(str.lastIndexOf("a")); // 輸出結(jié)果:3
console.log(str.lastIndexOf("z")); // 輸出結(jié)果:-1
3. includes()
includes() 方法用于判斷一個(gè)字符串是否包含在另一個(gè)字符串中缕溉,根據(jù)情況返回 true 或 false考传。
語(yǔ)法:string.includes(searchvalue, start)
參數(shù):
- searchvalue:必需,要查找的字符串证鸥;
- start:可選僚楞,設(shè)置從那個(gè)位置開始查找,默認(rèn)為 0枉层。
includes() 方法是區(qū)分大小寫的泉褐。例如,下面的表達(dá)式會(huì)返回 false :
'Blue Whale'.includes('blue'); // returns false
let str = 'Hello world!';
str.includes('o') // 輸出結(jié)果:true
str.includes('z') // 輸出結(jié)果:false
str.includes('e', 2) // 輸出結(jié)果:false
4. startsWith()
該方法用于檢測(cè)字符串是否以指定的子字符串開始鸟蜡。如果是以指定的子字符串開頭返回 true膜赃,否則 false。其語(yǔ)法和上面的includes()方法一樣揉忘。
let str = 'Hello world!';
str.startsWith('Hello') // 輸出結(jié)果:true
str.startsWith('Helle') // 輸出結(jié)果:false
str.startsWith('wo', 6) // 輸出結(jié)果:true
5. endsWith()
該方法用來(lái)判斷當(dāng)前字符串是否是以指定的子字符串結(jié)尾跳座。如果傳入的子字符串在搜索字符串的末尾則返回 true端铛,否則將返回 false。
語(yǔ)法:string.endsWith(searchvalue, length)
參數(shù):
- searchvalue:必需疲眷,要搜索的子字符串禾蚕;
- length: 設(shè)置字符串的長(zhǎng)度,默認(rèn)值為原始字符串長(zhǎng)度 string.length狂丝。
let str = 'Hello world!';
str.endsWith('!') // 輸出結(jié)果:true
str.endsWith('llo') // 輸出結(jié)果:false
str.endsWith('llo', 5) // 輸出結(jié)果:true
可以看到换淆,當(dāng)?shù)诙€(gè)參數(shù)設(shè)置為5時(shí),就會(huì)從字符串的前5個(gè)字符中進(jìn)行檢索美侦,所以會(huì)返回true产舞。
三、連接多個(gè)字符串
1. concat()
用于連接兩個(gè)或多個(gè)字符串菠剩。該方法不會(huì)改變?cè)凶址酌ǎ瑫?huì)返回連接兩個(gè)或多個(gè)字符串的新字符串。
語(yǔ)法: string.concat(string1, string2, ..., stringX)
其中參數(shù) string1, string2, ..., stringX 是必須的具壮,他們將被連接為一個(gè)字符串的一個(gè)或多個(gè)字符串對(duì)象准颓。
let str = "abc";
console.log(str.concat("efg")); //輸出結(jié)果:"abcefg"
console.log(str.concat("efg","hijk")); //輸出結(jié)果:"abcefghijk"
雖然concat()方法是專門用來(lái)拼接字符串的,但是在開發(fā)中使用最多的還是加操作符+棺妓,因?yàn)槠涓雍?jiǎn)單攘已。
四、字符串分割成數(shù)組
1. split()
用于把一個(gè)字符串分割成字符串?dāng)?shù)組怜跑。該方法不會(huì)改變?cè)甲址?/p>
語(yǔ)法:string.split(separator,limit)
參數(shù):
- separator:必需样勃。字符串或正則表達(dá)式,從該參數(shù)指定的地方分割 string性芬。
- limit:可選峡眶。該參數(shù)可指定返回的數(shù)組的最大長(zhǎng)度。如果設(shè)置了該參數(shù)植锉,返回的子串不會(huì)多于這個(gè)參數(shù)指定的數(shù)組辫樱。如果沒(méi)有設(shè)置該參數(shù),整個(gè)字符串都會(huì)被分割俊庇,不考慮它的長(zhǎng)度狮暑。
let str = "abcdef";
str.split("c"); // 輸出結(jié)果:["ab", "def"]
str.split("", 4) // 輸出結(jié)果:['a', 'b', 'c', 'd']
如果把空字符串用作 separator,那么字符串中的每個(gè)字符之間都會(huì)被分割辉饱。
str.split(""); // 輸出結(jié)果:["a", "b", "c", "d", "e", "f"]
其實(shí)在將字符串分割成數(shù)組時(shí)搬男,可以同時(shí)拆分多個(gè)分割符,使用正則表達(dá)式即可實(shí)現(xiàn):
const list = "apples,bananas;cherries"
const fruits = list.split(/[,;]/)
console.log(fruits); // 輸出結(jié)果:["apples", "bananas", "cherries"]
五彭沼、截取字符串
substr()止后、substring()和 slice() 方法都可以用來(lái)截取字符串。
1. slice()
用于提取字符串的某個(gè)部分溜腐,并以新的字符串返回被提取的部分译株。
語(yǔ)法:string.slice(start,end)
參數(shù):
- start:必須。 要截取的片斷的起始下標(biāo)挺益,第一個(gè)字符位置為 0歉糜。如果為負(fù)數(shù),則從尾部開始截取望众。
- end:可選匪补。 要截取的片段結(jié)尾的下標(biāo)。若未指定此參數(shù)烂翰,則要提取的子串包括 start 到原字符串結(jié)尾的字符串夯缺。如果該參數(shù)是負(fù)數(shù),那么它規(guī)定的是從字符串的尾部開始算起的位置甘耿。
上面說(shuō)了踊兜,如果start是負(fù)數(shù),則該參數(shù)規(guī)定的是從字符串的尾部開始算起的位置佳恬。也就是說(shuō)捏境,-1 指字符串的最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符毁葱,以此類推:
let str = "abcdefg";
str.slice(1,6); // 輸出結(jié)果:"bcdef"
str.slice(1); // 輸出結(jié)果:"bcdefg"
str.slice(); // 輸出結(jié)果:"abcdefg"
str.slice(-2); // 輸出結(jié)果:"fg"
str.slice(6, 1); // 輸出結(jié)果:""
注意垫言,該方法返回的子串包括開始處的字符,但不包括結(jié)束處的字符倾剿。
2. substr()
用于在字符串中抽取從開始下標(biāo)開始的指定數(shù)目的字符筷频。
語(yǔ)法:string.substr(start,length)
參數(shù):
- start 必需。要抽取的子串的起始下標(biāo)前痘。必須是數(shù)值凛捏。如果是負(fù)數(shù),那么該參數(shù)聲明從字符串的尾部開始算起的位置际度。也就是說(shuō)葵袭,-1 指字符串中最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符乖菱,以此類推坡锡。
- length:可選。子串中的字符數(shù)窒所。必須是數(shù)值鹉勒。如果省略了該參數(shù),那么返回從 stringObject 的開始位置到結(jié)尾的字串吵取。
let str = "abcdefg";
str.substr(1,6); // 輸出結(jié)果:"bcdefg"
str.substr(1); // 輸出結(jié)果:"bcdefg" 相當(dāng)于截取[1,str.length-1]
str.substr(); // 輸出結(jié)果:"abcdefg" 相當(dāng)于截取[0,str.length-1]
str.substr(-1); // 輸出結(jié)果:"g"
3. substring()
用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符禽额。
語(yǔ)法:string.substring(from, to)
參數(shù):
- from:必需。一個(gè)非負(fù)的整數(shù),規(guī)定要提取的子串的第一個(gè)字符在 string 中的位置脯倒。
- to:可選实辑。一個(gè)非負(fù)的整數(shù),比要提取的子串的最后一個(gè)字符在 string 中的位置多 1藻丢。如果省略該參數(shù)剪撬,那么返回的子串會(huì)一直到字符串的結(jié)尾。
注意: 如果參數(shù) from 和 to 相等悠反,那么該方法返回的就是一個(gè)空串(即長(zhǎng)度為 0 的字符串)残黑。如果 from 比 to 大,那么該方法在提取子串之前會(huì)先交換這兩個(gè)參數(shù)斋否。并且該方法不接受負(fù)的參數(shù)梨水,如果參數(shù)是個(gè)負(fù)數(shù),就會(huì)返回這個(gè)字符串茵臭。
let str = "abcdefg";
str.substring(1,6); // 輸出結(jié)果:"bcdef" [1,6)
str.substring(1); // 輸出結(jié)果:"bcdefg" [1,str.length-1]
str.substring(); // 輸出結(jié)果:"abcdefg" [0,str.length-1]
str.substring(6,1); // 輸出結(jié)果 "bcdef" [1,6)
str.substring(-1); // 輸出結(jié)果:"abcdefg"
注意疫诽,該方法返回的子串包括開始處的字符,但不包括結(jié)束處的字符笼恰。
六踊沸、字符串大小寫轉(zhuǎn)換
toLowerCase() 和 toUpperCase()方法可以用于字符串的大小寫轉(zhuǎn)換。
1. toLowerCase()
該方法用于把字符串轉(zhuǎn)換為小寫社证。
let str = "adABDndj";
str.toLowerCase(); // 輸出結(jié)果:"adabdndj"
2. toUpperCase()
該方法用于把字符串轉(zhuǎn)換為大寫逼龟。
let str = "adABDndj";
str.toUpperCase(); // 輸出結(jié)果:"ADABDNDJ"
我們可以用這個(gè)方法來(lái)將字符串中第一個(gè)字母變成大寫:
let word = 'apple'
word = word[0].toUpperCase() + word.substr(1)
console.log(word) // 輸出結(jié)果:"Apple"
七、字符串模式匹配
replace()追葡、match()和search()方法可以用來(lái)匹配或者替換字符腺律。
1. replace()
該方法用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串宜肉。
語(yǔ)法:string.replace(searchvalue, newvalue)
參數(shù):
- searchvalue:必需匀钧。規(guī)定子字符串或要替換的模式的 RegExp 對(duì)象。如果該值是一個(gè)字符串谬返,則將它作為要檢索的直接文本模式之斯,而不是首先被轉(zhuǎn)換為 RegExp 對(duì)象。
- newvalue:必需遣铝。一個(gè)字符串值佑刷。規(guī)定了替換文本或生成替換文本的函數(shù)。
let str = "abcdef";
str.replace("c", "z") // 輸出結(jié)果:abzdef
執(zhí)行一個(gè)全局替換, 忽略大小寫:
let str="Mr Blue has a blue house and a blue car";
str.replace(/blue/gi, "red"); // 輸出結(jié)果:'Mr red has a red house and a red car'
注意: 如果 regexp 具有全局標(biāo)志 g酿炸,那么 replace() 方法將替換所有匹配的子串瘫絮。否則,它只替換第一個(gè)匹配子串填硕。
2. match()
該方法用于在字符串內(nèi)檢索指定的值麦萤,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配。該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值壮莹,而不是字符串的位置翅帜。
語(yǔ)法:string.match(regexp)
該方法的參數(shù) regexp 是必需的,規(guī)定要匹配的模式的 RegExp 對(duì)象垛孔。如果該參數(shù)不是 RegExp 對(duì)象藕甩,則需要首先把它傳遞給 RegExp 構(gòu)造函數(shù),將其轉(zhuǎn)換為 RegExp 對(duì)象周荐。
注意: 該方法返回存放匹配結(jié)果的數(shù)組。該數(shù)組的內(nèi)容依賴于 regexp 是否具有全局標(biāo)志 g僵娃。
let str = "abcdef";
console.log(str.match("c")) // ["c", index: 2, input: "abcdef", groups: undefined]
3.search()
用于檢索字符串中指定的子字符串概作,或檢索與正則表達(dá)式相匹配的子字符串。
語(yǔ)法:string.search(searchvalue)
該方法的參數(shù) regex 可以是需要在 string 中檢索的子串默怨,也可以是需要檢索的 RegExp 對(duì)象讯榕。
注意: 要執(zhí)行忽略大小寫的檢索,請(qǐng)追加標(biāo)志 i匙睹。該方法不執(zhí)行全局匹配愚屁,它將忽略標(biāo)志 g,也就是只會(huì)返回第一次匹配成功的結(jié)果痕檬。如果沒(méi)有找到任何匹配的子串霎槐,則返回 -1。
返回值: 返回 str 中第一個(gè)與 regexp 相匹配的子串的起始位置梦谜。
let str = "abcdef";
str.search(/bcd/) // 輸出結(jié)果:1
八丘跌、移除字符串收尾空白符
trim()、trimStart()和trimEnd()這三個(gè)方法可以用于移除字符串首尾的頭尾空白符唁桩,空白符包括:空格闭树、制表符 tab、換行符等其他空白符等荒澡。
1. trim()
用于移除字符串首尾空白符报辱,該方法不會(huì)改變?cè)甲址?/p>
let str = " abcdef "
str.trim() // 輸出結(jié)果:"abcdef"
注意,該方法不適用于null单山、undefined碍现、Number類型。
2. trimStart()
trimStart()
方法的的行為與trim()
一致饥侵,不過(guò)會(huì)返回一個(gè)從原始字符串的開頭刪除了空白的新字符串鸵赫,不會(huì)修改原始字符串
const s = ' abc ';
s.trimStart() // "abc "
3. trimEnd()
trimEnd()
方法的的行為與trim()
一致,不過(guò)會(huì)返回一個(gè)從原始字符串的結(jié)尾刪除了空白的新字符串躏升,不會(huì)修改原始字符串
const s = ' abc ';
s.trimEnd() // " abc"
九辩棒、重復(fù)一個(gè)字符串
1. repeat()
方法返回一個(gè)新字符串,表示將原字符串重復(fù)n次
'x'.repeat(3) // 輸出結(jié)果:"xxx"
'hello'.repeat(2) // 輸出結(jié)果:"hellohello"
'na'.repeat(0) // 輸出結(jié)果:""
如果參數(shù)是小數(shù),會(huì)向下取整
'na'.repeat(2.9) // 輸出結(jié)果:"nana"
如果參數(shù)是負(fù)數(shù)或者Infinity一睁,會(huì)報(bào)錯(cuò)
'na'.repeat(Infinity) // RangeError
'na'.repeat(-1) // RangeError
如果參數(shù)是 0 到-1 之間的小數(shù)钻弄,則等同于 0,這是因?yàn)闀?huì)先進(jìn)行取整運(yùn)算者吁。0 到-1 之間的小數(shù)窘俺,取整以后等于-0,repeat視同為 0复凳。
'na'.repeat(-0.9) // 輸出結(jié)果:""
如果參數(shù)是NaN瘤泪,就等同于 0:
'na'.repeat(NaN) // 輸出結(jié)果:""
如果repeat的參數(shù)是字符串,則會(huì)先轉(zhuǎn)換成數(shù)字育八。
'na'.repeat('na') // 輸出結(jié)果:""
'na'.repeat('3') // 輸出結(jié)果:"nanana"
十对途、字符串轉(zhuǎn)為數(shù)字
parseInt()
和parseFloat()
方法都用于將字符串轉(zhuǎn)為數(shù)字。
1. parseInt()
解析一個(gè)字符串并返回指定基數(shù)的十進(jìn)制整數(shù)髓棋, radix 是2-36之間的整數(shù)实檀,表示被解析字符串的基數(shù)。
語(yǔ)法:parseInt(string, radix)
參數(shù):
- string:要被解析的值按声。如果參數(shù)不是一個(gè)字符串膳犹,則將其轉(zhuǎn)換為字符串(使用 ToString 抽象操作)。字符串開頭的空白符將會(huì)被忽略签则。
- radix:從 2 到 36须床,表示字符串的基數(shù)。例如指定 16 表示被解析值是十六進(jìn)制數(shù)怀愧。請(qǐng)注意侨颈,10不是默認(rèn)值!
返回值:
從給定的字符串中解析出的一個(gè)整數(shù)芯义。
或者 NaN哈垢,當(dāng)
- radix 小于 2 或大于 36 ,或
- 第一個(gè)非空格字符不能轉(zhuǎn)換為數(shù)字扛拨。
當(dāng)參數(shù) radix 的值為 0耘分,或沒(méi)有設(shè)置該參數(shù)時(shí),parseInt() 會(huì)根據(jù) string 來(lái)判斷數(shù)字的基數(shù)绑警。
parseInt("10"); // 輸出結(jié)果:10
parseInt("17",8); // 輸出結(jié)果:15 (8+7)
parseInt("010"); // 輸出結(jié)果:10 或 8
當(dāng)參數(shù) radix 的值以 “0x” 或 “0X” 開頭求泰,將以 16 為基數(shù):
parseInt("0x10") // 輸出結(jié)果:16
如果該參數(shù)小于 2 或者大于 36,則 parseInt() 將返回 NaN:
parseInt("50", 1) // 輸出結(jié)果:NaN
parseInt("50", 40) // 輸出結(jié)果:NaN
只有字符串中的第一個(gè)數(shù)字會(huì)被返回计盒,當(dāng)遇到第一個(gè)不是數(shù)字的字符為止:
parseInt("40 4years") // 輸出結(jié)果:40
如果字符串的第一個(gè)字符不能被轉(zhuǎn)換為數(shù)字渴频,就會(huì)返回 NaN:
parseInt("new100") // 輸出結(jié)果:NaN
字符串開頭和結(jié)尾的空格是允許的:
parseInt(" 60 ") // 輸出結(jié)果: 60
2. parseFloat()
可解析一個(gè)字符串,并返回一個(gè)浮點(diǎn)數(shù)北启。該方法指定字符串中的首個(gè)字符是否是數(shù)字卜朗。如果是拔第,則對(duì)字符串進(jìn)行解析,直到到達(dá)數(shù)字的末端為止场钉,然后以數(shù)字返回該數(shù)字蚊俺,而不是作為字符串。
語(yǔ)法:parseFloat(string)
parseFloat
將它的字符串參數(shù)解析成為浮點(diǎn)數(shù)并返回逛万。如果在解析過(guò)程中遇到了正負(fù)號(hào)(+ 或 -)泳猬、數(shù)字 (0-9)、小數(shù)點(diǎn)宇植,或者科學(xué)記數(shù)法中的指數(shù)(e 或 E)以外的字符得封,則它會(huì)忽略該字符以及之后的所有字符,返回當(dāng)前已經(jīng)解析到的浮點(diǎn)數(shù)当纱。同時(shí)參數(shù)字符串首位的空白符會(huì)被忽略呛每。
parseFloat("10.00") // 輸出結(jié)果:10.00
parseFloat("10.01") // 輸出結(jié)果:10.01
parseFloat("-10.01") // 輸出結(jié)果:-10.01
parseFloat("40.5 years") // 輸出結(jié)果:40.5
如果參數(shù)字符串的第一個(gè)字符不能被解析成為數(shù)字,則 parseFloat 返回 NaN坡氯。
parseFloat("new40.5") // 輸出結(jié)果:NaN