W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
你想在不使用typeof的情況下知道一個函數(shù)的類型。(要了解為什么typeof不靠譜,請參見 http://javascript.crockford.com/remedial.html。)
使用下面這個type函數(shù)
type = (obj) ->
if obj == undefined or obj == null
return String obj
classToType = {
'[object Boolean]': 'boolean',
'[object Number]': 'number',
'[object String]': 'string',
'[object Function]': 'function',
'[object Array]': 'array',
'[object Date]': 'date',
'[object RegExp]': 'regexp',
'[object Object]': 'object'
}
return classToType[Object.prototype.toString.call(obj)]
這個函數(shù)模仿了jQuery的$.type函數(shù)。
需要注意的是,在某些情況下,只要使用鴨子類型檢測及存在運算符就可以不必檢測對象的類型了。例如,下面這行代碼不會發(fā)生異常,它會在myArray的確是數(shù)組(或者一個帶有push方法的類數(shù)組對象)的情況下向其中推入一個元素,否則什么也不做。
myArray?.push? myValue
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: