国产探花免费观看_亚洲丰满少妇自慰呻吟_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'。

最后貼上規范里的解釋

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和田市| 新密市| 安龙县| 贵南县| 安新县| 鄂尔多斯市| 青海省| 长沙县| 察隅县| 宝山区| 柳江县| 都安| 松溪县| 昌都县| 长治县| 桦川县| 嘉善县| 常山县| 巴林右旗| 伊川县| 海原县| 崇州市| 平凉市| 弥勒县| 含山县| 绥江县| 商水县| 礼泉县| 崇文区| 莲花县| 罗源县| 河南省| 图们市| 清远市| 紫云| 阜康市| 瑞安市| 乌鲁木齐县| 山东省| 新泰市| 宁夏|