Skip to content

Commit 8ccfd77

Browse files
committed
update
1 parent ff0fa4b commit 8ccfd77

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
* [01-01](https://github.com/TYRMars/JSlearn#01-01) `变量类型和计算(1)`
66
* [01-02](https://github.com/TYRMars/JSlearn#01-02) `变量类型和计算(2)`
77
* [01-03](https://github.com/TYRMars/JSlearn#01-03) `变量类型和计算(3)-JSON的理解`
8+
* [01-04](https://github.com/TYRMars/JSlearn#01-04) `原型与原型链-构造函数`
9+
* [01-05](https://github.com/TYRMars/JSlearn#01-05) `原型规则和示例`
810
## JS小练习
911
* JSDemo JS小程序
1012
* JDMenu 京东无延迟菜单
@@ -150,6 +152,56 @@ console.log(obj2.x); // 200
150152
JSON.stringify({a:10,b:20});
151153
JSON.parse('{"a":10."b":20}')
152154
```
155+
156+
## 01-04
157+
### 原型与原型链-构造函数
158+
* 如何准确判断一个变量数组类型
159+
* 写一个原型链继承的例子
160+
* 描述new一个对象的过程
161+
* zepto(或其他框架)源码中如何使用原型链
162+
#### 知识点
163+
* 构造函数
164+
* 构造函数-扩展
165+
* 原型规则和示例
166+
* 原型链
167+
* instanceof
168+
#### 构造函数
169+
```JavaScript
170+
funciton Foo(name,age){
171+
this.name = name;
172+
this.age = age;
173+
this.class = 'class-1';
174+
// return this //默认有这一行
175+
}
176+
var f = new Foo('zhangsan',20);
177+
// var f1 = new Foo('lisi',22) //创建多个对象
178+
```
179+
#### 构造函数-扩展
180+
* `var a = {}` 其实是 `var a = new Object()`的语法糖
181+
* `var a = []` 其实是 `var a = new Array()`的语法糖
182+
* `function Foo(){...}`其实是 `var Foo = new Function(...)`
183+
* 使用 `instanceof` 判断一个函数是否是一个变量的构造函数
184+
* 如果想判断一个变量是否为“数组”:变量 instanceof Array
185+
186+
## 01-05
187+
### 原型规则和示例
188+
* 5条原型规则
189+
* 原型规则是学习原型链的基础
190+
* 所有的引用类型(数组、对象、函数),都具有对象特质、即可自由扩展属性(除了“NULL”以外)
191+
```JavaScript
192+
var obj = {}; obj.a = 100;
193+
var arr = []; arr.a = 100;
194+
function fn(){
195+
fn.a=100;
196+
}
197+
```
198+
#### `__proto__`
199+
* 所有的引用类型(数组、对象、函数),都有一个`__proto__`(隐式原型)属性,属性值是一个普通的对象
200+
```JavaScript
201+
console.log(obj.__proto__);
202+
console.log(arr.__proto__);
203+
console.log(fn.__proto__);
204+
```
153205
---
154206

155207
### JSDemo JS小程序

0 commit comments

Comments
 (0)