Skip to content

Commit 4df1329

Browse files
committed
Signed-off-by: scott <wchaowu@163.com>
1 parent 8ad5830 commit 4df1329

File tree

2 files changed

+93
-4
lines changed

2 files changed

+93
-4
lines changed

README.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,20 @@
1616
<a href="#NodeJs">Node.js</a>&nbsp;&nbsp;
1717
<a href="#html5nodejs"> html5</a>&nbsp;&nbsp;
1818
<br/>
19+
<h3 name="javascriptBase">Javascript based</h3>
20+
1.<a href="https://github.com/wchaowu/javascript-code/tree/master/javascript-based/reference">对象JavaScript 引用</a> <br />
21+
2.JavaScript this <br />
22+
3.JavaScript 闭包<br />
23+
4.JavaScript 事件</a> <br />
24+
5.<a href="https://github.com/wchaowu/javascript-code/tree/master/javascript-based/crossDomain.js">javascript 跨域</a> <br />
25+
26+
1927
<h3 name="OjectOriented">Oject-Oriented</h3>
2028
1.<a href="https://github.com/wchaowu/javascript-code/tree/master/object-oriented/Expressive-JavaScript">JavaScript Expressive </a> <br />
2129
2.<a href="https://github.com/wchaowu/javascript-code/tree/master/object-oriented/Interfaces"> Interfaces </a> <br />
2230
3.<a href="https://github.com/wchaowu/javascript-code/tree/master/object-oriented/Introduction">Introduction</a> <br />
2331
4.<a href="https://github.com/wchaowu/javascript-code/tree/master/object-oriented/Inheritance"> Inheritance </a> <br />
24-
<h3 name="javascriptBase">Javascript based</h3>
25-
1.<a href="https://github.com/wchaowu/javascript-code/tree/master/javascript-based/this">JavaScript this </a> <br />
26-
2.<a href="https://github.com/wchaowu/javascript-code/tree/master/javascript-based/closure">JavaScript 闭包</a> <br />
27-
3.<a href="https://github.com/wchaowu/javascript-code/tree/master/javascript-based/event">JavaScript 事件</a> <br />
32+
2833
<h3>Jquery</h3>
2934
为了更加了解Jquery实现机制可以先了解
3035
<a href="https://github.com/madrobby/zepto#readme">zepto</a>

javascript-based/reference.js

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
/*正常的情况*/
2+
var a = 5;
3+
var b = a;
4+
5+
b += 3;
6+
7+
alert(b); //8
8+
alert(a); //5
9+
10+
11+
12+
//对象和函数都是引用的关系
13+
var a = [1,2,3];
14+
var b = a;
15+
16+
b.push(4);
17+
18+
alert(b); //1,2,3,4
19+
alert(a); //1,2,3,4*/
20+
21+
//数组重新写
22+
var a = [1,2,3];
23+
var b = a;
24+
b = [1,2,3,4];
25+
26+
alert(b); //1,2,3,4
27+
alert(a); //1,2,3
28+
29+
/*对象赋值*/
30+
var obj = {
31+
a : 10
32+
};
33+
var obj2 = obj;
34+
35+
obj2.a = 20;
36+
37+
alert(obj.a); //20*/
38+
39+
//赋值解决方案
40+
var obj = {
41+
a : 10
42+
};
43+
44+
function copy(obj){ //浅拷贝
45+
46+
var newObj = {};
47+
48+
for(var attr in obj){
49+
newObj[attr] = obj[attr];
50+
}
51+
52+
return newObj;
53+
54+
}
55+
56+
var obj2 = copy(obj);
57+
58+
obj2.a = 20;
59+
60+
alert(obj.a); //10
61+
62+
//解决方案二
63+
function deepCopy(obj){ //深拷贝
64+
65+
if(typeof obj != 'object'){
66+
console.trace();
67+
return obj;
68+
}
69+
70+
var newObj = {};
71+
72+
for(var attr in obj){
73+
newObj[attr] = deepCopy(obj[attr]);
74+
}
75+
76+
return newObj;
77+
78+
}
79+
80+
var obj2 = deepCopy(obj);
81+
82+
obj2.a.b = 20;
83+
84+
alert(obj.a.b); //10

0 commit comments

Comments
 (0)