工具庫 JS常用型別檢測

2021-08-20 12:22:53 字數 2552 閱讀 5187

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...