最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Js中如何判断变量是数组、函数或对象的代码说明

来源:懂视网 责编:小采 时间:2020-11-27 20:16:12
文档

Js中如何判断变量是数组、函数或对象的代码说明

Js中如何判断变量是数组、函数或对象的代码说明:数组 ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持。考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代。var isArray = Arra
推荐度:
导读Js中如何判断变量是数组、函数或对象的代码说明:数组 ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持。考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代。var isArray = Arra

数组

ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持。考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代。

var isArray = Array.isArray || function(obj) {
 return Object.prototype.toString.call(obj) === '[object Array]';
}

JQ的确封装了一个函数jQuery.inArray( value, array ) 搜索数组中指定值并返回它的索引(如果没有找到则返回-1)。
value要搜索的值。array一个数组,通过它来搜索。

function inArray1(needle,array,bool){ 
 if(typeof needle=="string"||typeof needle=="number"){ 
 for(var i in array){ 
 if(needle===array[i]){ 
 if(bool){ 
 return i; 
 } 
 return true; 
 } 
 } 
 return false; 
 } 
}

函数

最简单且性能最好的办法就是 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中复杂类型是对象,函数也是对象。对上述2者使用typeof,可以分别得到'object'和'function'。另外,还要排除null值的情况,因为typeof null 得到的也是 'object'。

var isObject = function(obj) {
 var type = typeof obj;
 return type === 'function' || type === 'object' && !!obj;
}

文档

Js中如何判断变量是数组、函数或对象的代码说明

Js中如何判断变量是数组、函数或对象的代码说明:数组 ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持。考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代。var isArray = Arra
推荐度:
标签: 判断 js 代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top