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回调 | 绑定事件的对象 |
本文介绍了JavaScript中的数据类型,包括简单数据类型和引用数据类型,并详细阐述了数据类型之间的转换方法,如Number、String、Boolean等。同时,探讨了检测数据类型的多种方式,如typeof、instanceof和constructor。此外,还涉及了构造函数、原型对象以及它们之间的关系。最后,总结了JavaScript中this的指向规则,包括普通函数、箭头函数、对象方法等不同情况下的this行为。

被折叠的 条评论
为什么被折叠?



