js封裝了一套常用的型別檢測工具庫,可以判斷常見的dom物件,string以及function物件。
|– root (專案根目錄)
—| is.js (型別檢測庫)
—| other.js (業務**)
is.js
/**
* check if args is a document element
* @param elem
* @returns
*/exports.isdocument = function
(elem)
/** * check if args is a html node
* @param elem
* @returns
*/exports.isnode = function
(elem)
/** * check if args is a list of html node
* @param elist
*/exports.isnodelist = function
(elist = {})
/** * check if args is a string
* @param val
*/exports.isstring = function
(val = '')
/** * check if args is a function
* @param val
*/exports.isfn = function
(val)
other.js
import from './is.js'
let list = document.getelementsbytagname('div')
isdocument(document) // 判斷dom物件 true
isnode(list[0]) // 判斷node節點 true
isnodelist(list) // 判斷node集合 true
isstring("new string('123')") // eslint-disable-line true
isfn(window.alert) // 判斷函式型別 true
let a = isdocument(document)
console.log('a', a) // true
delegate.js
import delegate from 'delegate'
import from './istype'
/** * eventlistener delegate
* @export
* @param target
* @param type
* @param callback
* @returns
*/export function
listen
(target, type, callback)
if (!isstring(type))
if (!isfn(callback))
// there are three situations of target
if (isstring(target)) else
if (isnode(target)) else
if (isnodelist(target)) else
}/**
* typeof target is string
* @param target
* @param type
* @param callback
* @return
*/const listenselector = function
(target, type, callback)
/** * typeof target is node
* @param node
* @param type
* @param callback
* @return
*/const listennode = function
(node = {}, type = '', callback)
}}/** * typeof target is nodelist
* @param nodelist
* @param type
* @param callback
*/const listennodelist = function
(nodelist = , type = '', callback) )
return )}}}
github 專案位址
js 型別檢測
1 檢測字串 數值 布林值 undefined function 使用typeof 在safari和chrome中檢測正則也會返回 function 2 檢測null 應用 3 檢測其它物件 方法一 利用instanceof constructor 再某些ie版本中存在跨iframe問題,每個ifr...
JS型別檢測
主要有兩種型別檢測 typeof 以及 instanceof 一 typeof 判斷型別 返回乙個字串 typeof 數字 number typeof 布林值 boolean typeof 字串 object typeof undefined undefined typeof null object...
JS 型別檢測
型別檢測分為五種 1.typeof 2.物件 obj instanceof object 函式物件 函式構造器 左邊的運算元的物件的原型鏈上是否有右操作函式構造器的prototype屬性 例子 1,2 instanceof array true new object instanceof array...