1宰掉、JavaScript 定義了幾種數(shù)據(jù)類型? 哪些是原始類型?哪些是復雜類型?原始類型和復雜類型的區(qū)別是什么?
- 有number呵哨、string、boolean轨奄、undefined孟害、null、object共6種數(shù)據(jù)類型
- 原始類型有:number挪拟、string挨务、boolean
- 復雜類型有:object
- 區(qū)別:原始類型它們是最基本的數(shù)據(jù)類型,不可以在細分了玉组,
復雜類型(object)一般是多個原始類型值的合成谎柄,可以看作一個存放各種值的容器。
2惯雳、typeof和instanceof的作用和區(qū)別?
tyoeof檢查一個數(shù)據(jù)或變量的類型
instanceof用于判斷一個變量是否為某個對象的實例朝巫,運算符返回一個布爾值
3、如何判斷一個變量是否是數(shù)字石景、字符串劈猿、布爾、函數(shù)
使用instanceof,假設該變量為a潮孽,那么分別執(zhí)行a instanceof number/string/boolean/function
揪荣,其中返回值為true的時候為真。
4恩商、 NaN是什么? 有什么特別之處?
- NaN含義是Not a Number变逃,表示非數(shù)字,NaN和任何值都不相等怠堪,包括自己揽乱,但NaN的類型為number
進行類型轉(zhuǎn)換的時候?qū)τ跓o法判斷的數(shù)值可以返回NaN
5、如何把非數(shù)值轉(zhuǎn)化為數(shù)值?
可以使用一下三種函數(shù)
- Number()
- parseInt() //轉(zhuǎn)換為整型
- parseFloat() //轉(zhuǎn)換為浮點型
6粟矿、==與===有什么區(qū)別
- ===是嚴格意義的相等凰棉,需要注意NaN和NaN嚴格意義下也不等。
- ==是值相等陌粹,javascript會幫我們做類型轉(zhuǎn)換撒犀,
7、break與continue有什么區(qū)別
- break 用于強制退出循環(huán)體掏秩,執(zhí)行循環(huán)后面的語句
- continue 用于退出本次循環(huán)或舞,但是會進入執(zhí)行下次循環(huán)
8、void 0 和 undefined在使用場景上有什么區(qū)別
void 會執(zhí)行后面的表達式并返回 undefined蒙幻。但是某些情境下undefined是可以被賦值的映凳,比如在函數(shù)中,這樣的話就不能用undefined來進行判斷了邮破,所以用void 0返回undefined來進行判斷诈豌。既減少了在原形鏈上查找 window.undefined 的時間仆救,也避免了誤用被修改過的 undefined。