js中常用的数据类型有:
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
就以上数据类型先举几个例子:
// 字符串(String)
let a='word';
// 数字(Number)
let b=123;
// 布尔(Boolean)
let c=true;
// 对空(Null)
let d=null;
// 未定义(Undefined)
let e;
// Symbol
let f=Symbol('123');
// 对象(Object)
let g={name:'xiangming'};
// 数组(Array)
let h=[1,2,3,4,5];
// 函数(Function)
let i=function () {
return 'done';
};
1、最常见的判断方法:typeof
console.log('a:'+typeof a);
// a:string
console.log('b:'+typeof b);
// b:number
console.log('c:'+typeof c);
// c:boolean
console.log('d:'+typeof d);
// d:object
console.log('e:'+typeof e);
// e:undefined
console.log('f:'+typeof f);
// f:symbol
console.log('g:'+typeof g);
// g:object
console.log('h:'+typeof h);
// h:object
console.log('i:'+typeof i);
// i:function
所以,typeof 在判断除Object类型的对象时比较方便。
2、判断已知对象类型的方法:instanceof
console.log('a is string:'+a instanceof String);
// a is string:true
console.log('b is number:'+b instanceof Number);
// b is number:true
console.log('b is number:'+b instanceof number);
// Uncaught ReferenceError: number is not defined
注意:instanceof 后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。
3、通用但很繁琐的方法:prototype(推荐)
// 定义方法获取变量类型
function var_type(data) {
return Object.prototype.toString.call(data).replace(/^\[object\s(.+)\]$/, '$1').toLowerCase();
}
console.log('a:'+var_type(a));
// a:string
console.log('b:'+var_type(b));
// b:number
console.log('c:'+var_type(c));
// c:boolean
console.log('d:'+var_type(d));
// d:null
console.log('e:'+var_type(e));
// e:undefined
console.log('f:'+var_type(f));
// f:symbol
console.log('g:'+var_type(g));
// g:object
console.log('h:'+var_type(h));
// h:array
console.log('i:'+var_type(i));
// i:function
此方法虽稍显繁琐,但只需简单封装一个方法即可。
文章最后给大家推荐一个小编自己写的通用后台框架云静Admin通用后台,小编也是第一次尝试开源代码,还望大家不吝赐教。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。