之前有写过前端的入门博客,那时候是边学习边总结,难免有些东西掌握和理解的不太到位,这次的文章,将同步在微信公众号上,便于及时的交流和沟通:
这次的这个专栏可能更偏向于实战和运用,适合一定的前端基础但实战经验不太多的小伙伴们,希望能和大家一同成长】一起进步;
js数据类型:
- number
- string
- Boolean
- undefined
- null
- object
- symbol
要知道array function 是特殊的object,可以理解为是object的一种拓展,前5种为基本类型 object为复杂类型 symbol为es6新增类型;
js数据类型的判断
直接粘代码,注释有写好,四种方法,推荐使用object.prototype.toString.call(xxx) 第四种 针对基本类型和复杂类型都可以做到判断;
<script>
let a = 1;
let b = 'apple';
let c = false;
let d = null;
let e = undefined;
let f = {id: 10};
let g = Symbol(666);
let h = [1,2,3];
let i = function (){
console.log(1);
}
// 1.typeof xxx 基本类型除了null都可以进行判断 历史原因32位时,为了节省空间000为对象 null为全零 所以会出现无法判断的情况
console.log(typeof a);// number
console.log(typeof b);// string
console.log(typeof c);// boolean
console.log(typeof d);// object
console.log(typeof e);// undefined
console.log(typeof f);// object
console.log(typeof g);// symbol
console.log(typeof h);// object
console.log("-------------------------------------")
// 2.a instanceof b 指定的判断 a是否属于b 可以判断父类 可以判断object的具体类别 也就是array function 也可以判断null 不属于对象
console.log(i instanceof Function);true
console.log("-------------------------------------")
// 3.xxx.constructor null undefined 无法判断
console.log(a.constructor); // { [native code] }
// 4.object.prototype.toString.call(xxx)
console.log(Object.prototype.toString.call(a));// [object Number]
</script>