最近在混各个群聊,大佬们都说,写博客的作用在于总结,多写,多记录方才形成自己的技术线。所以从今后起,我也准备坚持记录自己的成长,不然都不知道自己干了什么?----加油!!!
一、原始类型(也称基础类型):
有Boolean、string、symbol、number、undefined、null 原始类型的变量直接保存的是值,将原始值赋值给另一个变量时,该值将被复制到此变量中;一个变量的改变不会影响到其他的变量的值 var a = 10; var b = a; a = 20; console.log(b);//10; 鉴别原始类型 最简单就是使用typeof操作符,如: console.log(typeof 10);//number console.log(typeof '10');//string console.log(typeof true);//boolean console.log(typeof undefined);//undefined console.log(typeof Symbol());//symbol console.log(typeof null);//object??? 注意:空类型null不能用typeof 来判断(历史遗留的BUG)最佳办法就是直接和null比较:console.log(value === null);//true or false? 二、引用类型 如:函数、数组、对象 引用类型,不在变量中直接保存对象,而是指向内存中实际对象所在的位置的指针;这是对象和原始值的一个基本差别,原始值是直接保存在变量中。 鉴别引用类型 就不能用typeof 了 需要用 instanceof 但函数用instanceof 就不行了,可以用Array.isArray() Object.prototype.toSting.call()兼容性更好