JavaScript中判斷變量是數(shù)組、函數(shù)或是對象類型的方法
數(shù)組
ECMAScript5中Array.isArray是原生的判斷數(shù)組的方法,IE9及以上支持??紤]到兼容性,在沒有此方法的瀏覽器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代。
var isArray = Array.isArray || function(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
函數(shù)
最簡單且性能最好的辦法就是 typeof obj == 'function'。考慮到某些版本瀏覽器存在的bug,最靠譜的辦法是 Object.prototype.toString.call(obj) === '[object Function]'。
var isFunction = function(obj) {
return Object.prototype.toString.call(obj) === '[object Function]';
}
if(typeof /./ != 'function' && typeof Int8Array != 'object') {
isFunction = function(obj) {
return typeof obj == 'function';
}
}
對象
在JavaScript中復(fù)雜類型是對象,函數(shù)也是對象。對上述2者使用typeof,可以分別得到'object'和'function'。另外,還要排除null值的情況,因為typeof null 得到的也是 'object'。
var isObject = function(obj) {
var type = typeof obj;
return type === 'function' || type === 'object' && !!obj;
}
以上就是本文全部內(nèi)容了,希望大家能夠喜歡。
- js 多種變量定義(對象直接量,數(shù)組直接量和函數(shù)直接量)
- Javascript面象對象成員、共享成員變量實驗
- JavaScript判斷變量是對象還是數(shù)組的方法
- JavaScript面向?qū)ο笾接徐o態(tài)變量實例分析
- 淺談js函數(shù)中的實例對象、類對象、局部變量(局部函數(shù))
- JavaScript面向?qū)ο笾叽蠡驹瓌t實例詳解
- JS 創(chuàng)建對象的模式實例小結(jié)
- JS對象屬性的檢測與獲取操作實例分析
- 用原生JS獲取CLASS對象(很簡單實用)
- JavaScript 三種創(chuàng)建對象的方法
- JS 創(chuàng)建對象(常見的幾種方法)
- 原生JavaScript創(chuàng)建不可變對象的方法簡單示例
相關(guān)文章
Javascript訪問html頁面的控件的方法詳細(xì)分析
這段時間在公司比較的空閑,決定研究研究javascript訪問html控件,這是很普遍的,這里我系統(tǒng)的研究javascript的訪問方式,測試通過并有下面一些研究成就,供大家分享和補(bǔ)充。2008-08-08Echarts讀取動態(tài)數(shù)據(jù)完整代碼
這篇文章主要給大家介紹了關(guān)于Echarts讀取動態(tài)數(shù)據(jù)的相關(guān)資料,使用Echarts畫圖時,數(shù)據(jù)一般不是靜態(tài)寫死的,而是通過后端接口動態(tài)獲取的,需要的朋友可以參考下2023-10-10TypeScript?背后的結(jié)構(gòu)化類型系統(tǒng)原理詳解
這篇文章主要為大家介紹了TypeScript?背后的結(jié)構(gòu)化類型系統(tǒng)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11JavaScript數(shù)據(jù)結(jié)構(gòu)Number
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)Number,Number?是JavaScript的基本數(shù)據(jù)結(jié)構(gòu),是對應(yīng)數(shù)值的應(yīng)用類型,下文給大家分享JavaScript使用?Number?的常見問題,需要的朋友可以參考一下2022-02-02