国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript中使用typeof運算符需要注意的幾個坑

2019-11-20 13:57:02
字體:
來源:轉載
供稿:網友

typeof是一個運算符,它對操作數返回的結果是一個字符串,有6種(只針對ES,不包含HOST環境對象)。

1.'undefined'
2.'boolean'
3.'string'
4.'number'
5.'object'
6.'function'

因為它本身是運算符,它不是函數,使用時沒必要加個小括號。

復制代碼 代碼如下:

if (typeof(obj) === 'undefined') {
    // ...
}

typeof用來判斷類型,它有幾個坑

1. 對null返回是'object',你卻不能真正當對象使用。

復制代碼 代碼如下:

var obj = null
if (typeof obj === 'object') {
    obj.a() // 這里報錯
}

2. 對NaN返回是'number',你卻不能使用它進行算術運算。

復制代碼 代碼如下:

var obj = {}
var num = parseInt(obj.a)
if (typeof num === 'number') {
    num = num + 10 // 執行后num仍然是NaN
}

3. 不能區分對象、數組、正則,對它們操作都返回'object'。

復制代碼 代碼如下:

var obj = {}
var arr = []
var reg = /pop/g
console.log(typeof obj) // 'object'
console.log(typeof arr) // 'object'
console.log(typeof reg) // 'object'

4. Safar5,Chrome7之前的版本對正則對象返回 'function'。

最后貼上規范里的解釋

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐昌市| 乐都县| 宜阳县| 泸定县| 本溪市| 襄汾县| 鄂州市| 乐平市| 镇安县| 阳城县| 忻城县| 广东省| 英山县| 康定县| 恭城| 都兰县| 通山县| 麦盖提县| 图片| 丹江口市| 曲沃县| 咸宁市| 广汉市| 晋州市| 郯城县| 米脂县| 巫溪县| 滦平县| 东山县| 岳阳县| 台前县| 正安县| 佛山市| 古田县| 兴文县| 濮阳县| 汾阳市| 桂阳县| 深州市| 响水县| 康乐县|