Skip to content

Commit 9f2a63a

Browse files
init
1 parent 1e203d7 commit 9f2a63a

18 files changed

+723
-592
lines changed

README.md

+4-10
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,13 @@
3939
- [ES5 Array: forEach/map/filter/reduce/indexOf/every,some](./interview/ES5/array.md)
4040

4141
## 前端框架
42-
- [React.setState](./interview/react-vue/react/setState.md)
42+
43+
- [React.setState](./interview/react-vue/react/setState.md)
4344
- [vite](./interview/tools/vite.md)
4445
- [immer.js](./interview/frame-work/immerjs.md)
46+
4547
## 浏览器相关
48+
4649
- [http1.1](./interview/computer/network-review/http1.1.md)
4750
- [http2](./interview/computer/network-review/http2.md)
4851
- [浏览器事件循环](./house/51youse/PPT-broswer.md)
@@ -110,15 +113,6 @@
110113

111114
- [interview](./interview/README.md)
112115

113-
114-
115-
116-
117-
118-
119-
120-
121-
122116
## javascript,jquery 相关
123117

124118
<!-- 说明 -->

interview/ES5/argues.md

+39-31
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,52 @@
11
## 参数按值传递
2-
ECMAScript中所有函数的参数都是按值传递的。
2+
3+
ECMAScript 中所有函数的参数都是按值传递的。
4+
35
### 按值传递
6+
47
```js
5-
var value = 1;
6-
function foo(v) {
7-
v = 2;
8-
console.log(v); //2
9-
}
10-
foo(value);
11-
console.log(value) // 1
8+
var value = 1
9+
function foo(v) {
10+
v = 2
11+
console.log(v) //2
12+
}
13+
foo(value)
14+
console.log(value) // 1
1215
```
1316

14-
#### 引用传递?
17+
#### 引用传递 ?
18+
1519
```js
16-
var obj = {
17-
value: 1
18-
};
19-
function foo(o) {
20-
o.value = 2;
21-
console.log(o.value); //2
22-
}
23-
foo(obj);
24-
console.log(obj.value) // 2
20+
var obj = {
21+
value: 1,
22+
}
23+
function foo(o) {
24+
o.value = 2
25+
console.log(o.value) //2
26+
}
27+
foo(obj)
28+
console.log(obj.value) // 2
2529
```
30+
2631
#### 共享传递
32+
2733
```js
28-
var obj = {
29-
value: 1
30-
};
31-
function foo(o) {
32-
o = 2;
33-
console.log(o); //2
34-
}
35-
foo(obj);
36-
console.log(obj.value) // 1
37-
// 而共享传递是指,在传递对象的时候,传递对象的引用的副本。
38-
// 注意: 按引用传递是传递对象的引用,而按共享传递是传递对象的引用的副本!
39-
// 所以修改 o.value(对象内部的值),可以通过引用找到原值,但是直接修改 o,并不会修改原值。
40-
// 所以第二个和第三个例子其实都是按共享传递
34+
var obj = {
35+
value: 1,
36+
}
37+
function foo(o) {
38+
o = 2
39+
console.log(o) //2
40+
}
41+
foo(obj)
42+
console.log(obj.value) // 1
43+
44+
// 而共享传递是指,在传递对象的时候,传递对象的引用的副本。
45+
// 注意: 按引用传递是传递对象的引用,而按共享传递是传递对象的引用的副本!
46+
// 所以修改 o.value(对象内部的值),可以通过引用找到原值,但是直接修改 o,并不会修改原值。
47+
// 所以第二个和第三个例子其实都是按共享传递
4148
```
49+
4250
参数如果是基本类型是按值传递,如果是引用类型按共享传递。
4351
但是因为拷贝副本也是一种值的拷贝,所以在高程中也直接认为是按值传递了。
4452

0 commit comments

Comments
 (0)