🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
<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 ```