js数据类型分为: 基本数据类型和复合数据类型(引用数据类型)
- 基本数据类型:
- 定义: string, number, boolean,null, undefined
- 特征: 基本数据类型数据赋值给某一个变量之后值本身就不会再发生改变
var a = 123;
a = 234;
问:a本身里面数据有没有被改变?
答:a本身的数据没有改变,因为基本数据类型的特点是一旦定义了值是不会被改变
- 引用数据类型:
- 定义: object, array, function
- 特征:引用数据类型的值可以通过其赋值的变量修改
var b ={
name:"kobe"};
b.name = "wade";
问:b本身里面的数据有没有改变?
答:没有,因为操作对象属性不会导致变量的指针发生改变,b里面保存的是内存地址
b ={
name:wade""};
问:b本身里面的数据有没有改变?
答:有,操作对象本身,会导致指针指向发生改变,即b里面保存的内存地址发生了改变
- 判断数据类型: typeof
问题: typeof返回值有几种?
答案: String,Number,Boolean,Undefined,Function,Object
特殊: null和array的返回值也为Object - 面试题: 如何用原生js判断Array/Function/Object
答案: 使用instanceof,因为instanceof用来判断A是否是B的实例,语法:A instanceof B,返回值是布尔值
5.instanceof是如何判断?
表达式 A instanceof B,如果B函数的显式原型对象在A对象的原型链上,返回true,否则返回false