1.数据类型包括简单数据类型和引用数据类型
- 简单数据类型 : Number 、String 、Boolean 、Undefined 、Null 等
- 复杂数据类型 : Object Array Date RegExp Function 等
2.数据类型的转换
强转数字型Number 取整parseInt 浮点型parseFloat
转字符串 String toString
3.数据类型检测
- typeof 只能检测简单数据类型 检测null返回object
console.log(typeof 1); //number
console.log(typeof true); // boolean
console.log(typeof "2"); //string
- instanceof 判断是否是某个构造函数的实例
console.log("数字", 10 instanceof Number)
console.log("布尔", true instanceof Boolean)
console.log("字符串", "" instanceof String)
console.log("对象", {} instanceof Object)
console.log("函数", function(){} instanceof Function)
console.log("数组", [] instanceof Array)
- constructor 判断构造函数
console.log("数字", (10).constructor == Number)
console.log("字符串", ('你好').constructor == String)
console.log("布尔", (true).constructor == Boolean)
console.log("对象", ({}).constructor == Object)
console.log("数组", ([]).constructor == Array)
console.log("函数", (function () { }).constructor == Function)
- to String
Object.prototype 原型对象
__proto__ 原型
console.log("数字",Object.prototype.toString.call(1))
console.log("字符串",Object.prototype.toString.call(""))
console.log("布尔",Object.prototype.toString.call(true))
console.log("对象",Object.prototype.toString.call({}))
console.log("数组",Object.prototype.toString.call([]))
console.log("函数",Object.prototype.toString.call(function(){}))
4.构造函数 、实例化对象以及原型对象的关系
5.this指向总结
函数类型 | this的指向 |
---|---|
普通函数 | 指向window |
匿名函数 | 指向window |
立即执行函数 | window |
回调函数 | window |
箭头函数 | 函数定义位置的上下文this |
对象下的函数 | 谁调用,指向谁 |
dom回调 | 绑定事件的对象 |