首页 > 技术文章 > JavaScipt第四天笔记

xiaoming9527 2019-08-19 20:47 原文

JS笔记

1.以后遇到用构造函数创建对象就用NEW

2.用构造函数创建对象语法:
var obj1 = new Object();//创建一个空对象
var obj2 = new Object({ name : "zs" });//创建有内容的对象
场景:了解即可,底层,{} => new Object(),{ 键值对 } => new Object({ name : "zs" })
以后直接使用键值对的那个字面量创建对象即可

3.取值和赋值
1. 赋值:对象名.属性名 = 值;
1.2 属性存在的情况 => 修改
1.3 属性不存在的形况 => 添加

2. 取值:对象名.属性名
2.2 属性存在的情况下 => 直接取值
2.2 属性不存在的情况下 => undefined

4.批量创建对象(两种方式)
1. 工厂函数 通过传参的形式,不用写死对象里的属值。
1.1 创建一个新对象
1.2 给这个对象添加属性/方法
1.3 返回这个对象

2. 自定义构造函数★

5. new 做了4件事
1. 创建一个新对象
2. this指向了这个新对象 (新对象就有了属性)
3. 执行构造函数 (给对象添加属性值和方法)
4. 返回这个对象
构造函数的作用:添加属性和方法 实例化

6. 查看数据类型
1. typeof语法 : typeof 要查询的变量
场景: 只能查询简单类型,复杂类型分不清.
2. instanceof语法 :查询的变量 instanceof 构造函数(Number、Array、Object)
场景:判断返回一个布尔,类型一致返回true,反之false.
3.constructor构造器 语法:查询的变量.constructor
场景: 直接获取该变量是什么类型.

7. 四种创建对象方式
1. 单独创建两种
1.1 字面量创建(推荐使用)键值对
1.2 构造函数创建对象 (底层)

2. 批量创建的两种方式
2.1 工厂函数(需要返回对象)
2.2 自定义构造函数

8. 点语法和[]语法 (获取对象属性值)
1.点语法结构:对象名.属性名
2.[]结构:对象名[属性名字符串]

9. 遍历对象
语法: for ...in for(var key in 对象名){}
属性名:key,key相当于对象的每个属性名
属性值:对象名[key],相当于每个对象的属性值

10.判断这个属性是否是对象里的属性
结构:if( 属性名字符串 in 对象名){}

11.值类型和引用类型
1. 简单数据类型:number、string、boolean、undefined、null
变量在存储简单数据类型的时候,寸的是值本身(值类型)
2. 复杂数据类型: Array、function、Object
变量在存储复杂数据类型的时候,寸的是引用,也叫地址(类型)

推荐阅读