js中常用的的內(nèi)置函數(shù)
isNaN()
- isNaN() 函數(shù)用于檢查其參數(shù)是否是非數(shù)字值。如果參數(shù)值為 NaN 或字符串努释、對(duì)象碘梢、undefined等非數(shù)字值則返回 true, 否則返回 false。
isNaN(123) // false
isNaN('hello world') // true
parseInt(string, radix)
parseInt() 函數(shù)可解析一個(gè)字符串伐蒂,并返回一個(gè)整數(shù)煞躬。
當(dāng)參數(shù) radix 的值為 0,或沒有設(shè)置該參數(shù)時(shí)逸邦,parseInt() 會(huì)根據(jù) string 來判斷數(shù)字的基數(shù)恩沛。
當(dāng)忽略參數(shù) radix , JavaScript 默認(rèn)數(shù)字的基數(shù)如下:
如果 string 以 "0x" 開頭,parseInt() 會(huì)把 string 的其余部分解析為十六進(jìn)制的整數(shù)缕减。
如果 string 以 0 開頭雷客,那么 ECMAScript v3 允許 parseInt() 的一個(gè)實(shí)現(xiàn)把其后的字符解析為八進(jìn)制或十六進(jìn)制的數(shù)字。
如果 string 以 1 ~ 9 的數(shù)字開頭桥狡,parseInt() 將把它解析為十進(jìn)制的整數(shù)搅裙。
parseInt('10') // 10
parseInt('10.2123') // 10
parseInt('hello 10') // NaN
parseInt('10',10) // 10
注意: 只有字符串中的第一個(gè)數(shù)字會(huì)被返回耐量。
注意: 開頭和結(jié)尾的空格是允許的聂薪。
注意:如果字符串的第一個(gè)字符不能被轉(zhuǎn)換為數(shù)字,那么 parseInt() 會(huì)返回 NaN扒俯。
注意:在字符串以"0"為開始時(shí)舊的瀏覽器默認(rèn)使用八進(jìn)制基數(shù)局雄。ECMAScript 5甥啄,默認(rèn)的是十進(jìn)制的基數(shù)。
parseFloat()
parseFloat() 函數(shù)可解析一個(gè)字符串炬搭,并返回一個(gè)浮點(diǎn)數(shù)蜈漓。
該函數(shù)指定字符串中的首個(gè)字符是否是數(shù)字穆桂。如果是,則對(duì)字符串進(jìn)行解析融虽,直到到達(dá)數(shù)字的末端為止享完,然后以數(shù)字返回該數(shù)字,而不是作為字符串有额。
parseFloat('10') // 10
parseFloat('15.236') // 15.236
parseFloat('hello') // NaN
注意: 字符串中只返回第一個(gè)數(shù)字般又。
注意: 開頭和結(jié)尾的空格是允許的。
注意: 如果字符串的第一個(gè)字符不能被轉(zhuǎn)換為數(shù)字巍佑,那么 parseFloat() 會(huì)返回 NaN茴迁。
eval()
eval() 函數(shù)計(jì)算 JavaScript 字符串,并把它作為腳本代碼來執(zhí)行萤衰。
如果參數(shù)是一個(gè)表達(dá)式堕义,eval() 函數(shù)將執(zhí)行表達(dá)式。如果參數(shù)是Javascript語句脆栋,eval()將執(zhí)行 Javascript 語句倦卖。
eval("x=10;y=20;document.write(x*y)"); // 200
document.write(eval("2+2")); // 4
document.write(eval(x+17)); // 27
函數(shù)是什么
函數(shù)就是可以重復(fù)調(diào)用的代碼塊
函數(shù)定義
function name(arg1,arg2){
....
return 返回值
}
調(diào)用函數(shù)
name() // 通過函數(shù)名加括號(hào)調(diào)用 (括號(hào)可以傳參數(shù))
匿名函數(shù)自執(zhí)行
!function(){}()
變量提升
- var 聲明的變量默認(rèn)會(huì)提到 最前面默認(rèn)值是undefined
- function 聲明的函數(shù),函數(shù)前函數(shù)后都可以調(diào)用