File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1616 <a href =" #NodeJs " >Node.js</a >  ;  ;
1717 <a href =" #html5nodejs " > html5</a >  ;  ;
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 >
20281.<a href =" https://github.com/wchaowu/javascript-code/tree/master/object-oriented/Expressive-JavaScript " >JavaScript Expressive </a > <br />
21292.<a href =" https://github.com/wchaowu/javascript-code/tree/master/object-oriented/Interfaces " > Interfaces </a > <br />
22303.<a href =" https://github.com/wchaowu/javascript-code/tree/master/object-oriented/Introduction " >Introduction</a > <br />
23314.<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 >
Original file line number Diff line number Diff line change 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
You can’t perform that action at this time.
0 commit comments