File tree Expand file tree Collapse file tree 1 file changed +40
-1
lines changed
Expand file tree Collapse file tree 1 file changed +40
-1
lines changed Original file line number Diff line number Diff line change 77###
88
99###一、创建对象
10- ####1 .对象直接量
10+ ####1 .对象直接量(简单,直接)
1111
1212> 创建对象最简单的方式就是在JavaScript代码中使用对象直接量。
1313 对象直接量是由若干名/值对组成的映射表,名/值对中间用冒号分隔,名/值用逗号分隔。
@@ -30,6 +30,45 @@ var book = {
3030 }
3131}
3232```
33+
34+ ####2 .通过new关键字创建对象
35+ > new运算符创建并初始化一个新对象。关键字new后跟随一个函数调用。
36+ 这个函数称为构造函数(constructor),构造函数用以初始化一个新创建的对象。
37+ Javascrpit语言核心的原始类型包含内置构造函数:
38+
39+ ``` javascript
40+ /**
41+ * 通过new创建对象
42+ */
43+ var o = new Object (); // 创建一个空对象,和{}一样
44+ var a = new Array (); // 创建一个空数组,和[]一样
45+ var d = new Date (); // 创建一个表示当前时间的Date对象
46+ var r = new RegExp (" js" ); // 创建一个可以进行模式对象
47+ ````
48+
49+ ####3. 原型
50+ > 每个Javascritpt对象(null 除外)都和另个一个对象相关联," 另一个" 对象就是我们熟知的原型,每个对象都从原型继承属性。
51+
52+ > 所有通过对象直接量创建的对象都具有同一个原型对象,并可以通过JavaScript代码,Object .prototeyp 获得原型对象的引用。通过关键字new 和构造函数调用创建的对象的原型就是构造函数prototype属性的值。因此,同使用{}创建对象一样,通过new Object ()创建对象也继承自Obejct .prototype .同样,通过new Array ()创建的原型就是Array .prototype 。通过new Date ()创建的对象的原型就是Date .prototype .
53+
54+ > 没有原型的对象为数不对。Object .prototype 就是其中之一。它不继承任何属性。其他原型对象都是一个普通对象,普通对象都具有原型。所有的内置构造函数(以及大部分自定义的构造函数)都具有一个继承自Object .prototype 的原型。 这个一系列的原型对象就是所谓的“原型链”(prototype chain)
55+
56+ ####3. ####3. 原型
57+ > ECMAScript 5 定义了一个名为Object .create 的方法,它创建一个新对象,其中第一参数为对象的原型。 第一个参数可选。
58+
59+ > Object .create ()是一个静态函数,二不是提供某个对象调用的方法,使用他们的方法很简单,只需要传入所需要的原型对象那个即可。
60+
61+ ` ` ` javascript
62+ /**
63+ * Object.create() 创建对象
64+ */
65+ var o1 = Object.create( {x:1,y:2} ); // o1继承了属性x和y
66+
67+ ` ` `
68+
69+ > 可以通过传入参数null 来创建一个没有原型的新对象,但是同这个方式不会继承任何东西, 甚至还不包含基础方法,比如toString (),他不能和 + 一起工作。
70+
71+
3372###二、属性的查询和设置
3473###三、属性的删除
3574###四、监测属性
You can’t perform that action at this time.
0 commit comments