前言
【内容】
【目的】
【学习资源】
基础总结深入
数据类型
分类
判断
typeof
-
返回数据类型的字符串表达
-
可判断类型
undefined
、数值、字符串、布尔值、function
【==注意==】
-
返回值都设置为小写的字符串
- 判断比较时,注意设置为小写的类型字符串
a='this is a String'
console.log(typeof a==='string'); //显示true
console.log(typeof a==='String'); //显示false -
无法判断
unll
与object
、object
与array
【解释】
var a=null;
console.log(typeof a); //返回'object' 说明typeof不能区别null与object
/*
b1是objcet对象
b2是Array数组对象
b3是function函数
*/
var b1={
b2:[1,'abc',console.log],
b3:function(){
console.log('b3');
return function(){
return "lao"
}
}
}
console.log(typeof b1.b2); //返回'object' 说明typeof不能区别object和array【==注意==】
-
不要拘泥于表面,要观察自己得到的是哪一类型的数据
【示例】(代码同上)
console.log(b1.b2[2]==='function'); //返回ture 说明此时b1.b2[2]并不是所单纯的调用数组,而是调用数组中的函数。
//相反,要输出b1对象的b3函数中的函数 来输出字符串'lao'
console.log(typeof b1.b3()());
-
instanceof
-
判断对象的具体类型
-
A
instanceof
B:A是B的实例对象。【拓展】什么是实例对象?
-
根据类型创建的实例对象
//实例:实例对象
//类型:类型对象
function Person(name,age){ //构造函数 类型
this.name = name;
this.age = age;
}
var p = new Person('lao',21); //根据类型创建的实例对象
-
-
返回值是
boolean
值
===
-
可判断类型
-
undefined
、null
【解释】应为这两个类型只有一个值(就是它本身)
-
相关问题
undefined
与null
的区别?(==面试常问==)
undefined | null |
---|---|
定义未赋值 | 定义并赋值了,只是值为null |
什么时候给变量赋值为null
呢?
初始赋值,表明将要赋值为对象
【示例】
var object=null;
结束前,让对象成为对象垃圾(被垃圾回收器回收)
【示例】
//起始
var b=null; //初始赋值为null,表明将要赋值为对象
//确定对象就赋值
b=['lao',21];
//最后
b=null; //让对象成为对象垃圾(被垃圾回收器回收)
严格区别变量类型与数据类型?(了解即可)
- 数据的类型
- 基本类型
- 对象类型
- 变量的类型(变量内存值的类型)
- 基本类型:保存就是基本类型的数据
- 引用类型:保存的是地址值
数据、变量、内存
什么是数据?
- 存储在内存中代表特定信息的“东东”,本质上是0101…(机械码)
- 数据的特点:
- 可传递
- 可运算
- 一切皆数据
- 内存中所有操作的目标:数据
- 算数运算
- 逻辑运算
- 赋值运算
- 运行函数