<mark>1. 两大js数据类型</mark>
JavaScript 有 5 种基本数据类型:`Undefined、Null、Boolean、Number、String` 和 1 种复杂数据类型(引用类型) `Object` 。
<mark>2. 数据类型检测法</mark>
```js
方法1:获
typeof object; /* 返回object的数据类型 */
方法2:(推荐)
person instanceof Person; // 判断person是不是Person对象,是返回true,否则返回false。person为对象Person的实例引用。
方法3:
Object.prototype.toString.call(person);
// person为Person对象的引用
// //如果person是null则返回Null,是undefined则返回Undefined,否则一律返回Object
```
<mark>3. 基本数据类型与引用数据类型的复制</mark>
* 基本类型在内存中占据固定大小的空间,因此被保存在栈内存中
* 从一个变量向另一个变量复制基本类型的值,复制的是值的副本
* 引用类型的值是对象,保存在堆内存
* 包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针
* 从一个变量向另一个变量复制引用类型的值的时候,复制是引用指针,因此两个变量最终都指向同一个对象,其中有一个发生改变另外一个也会发生改变,如下:
```js
function Person() { // 引用类型
this.name = "name";
this.age = "age";
}
var a = new Person();
console.log(a.name); // name
var b = a; // 将a复制给b
b.name = "BNAME"; // 将name属性的值修改成"BNAME"
console.log(a.name); // BNAME 在b中修改了name,a的name也被修改了
console.log(b.name); // BNAME
```
- js应用场景
- js组成
- js书写位置
- 浮点数精度问题
- undefined与null的区别
- 数据类型转换
- 运算符优先级
- 代码调试
- 函数
- 函数的定义和调用
- 函数的return细节
- 函数是一种数据类型
- this的指向
- 函数成员
- 函数闭包
- 作用域
- 预解析
- js对象
- 对象的创建与调用
- new关键字
- this关键字
- 构造函数创建对象
- 事件
- 数据类型
- 继承
- 杂项
- 如何阻止标签的默认行为
- 为一个标签绑定或移除任何一个事件
- 如何阻止事件的冒泡行为
- 事件的三个阶段
- 移动元素的条件
- 匀速动画函数封装
- 变速动画函数封装
- 获取元素的css属性值
- 数据类型判断方法
- 创建对象的7种写法
- 如何继承
- 为js内置对象添加原型函数
- 将局部变量转换为全局变量
- call函数的用法
- 沙箱
- 浅拷贝
- 深拷贝
- 对象赋值会改变对象
- 解析URL中的字符串
- 格式化日期
- 获取当前浏览器类型
- Vue3.x
- 调式工具Vue Devtools