Skip to content

Commit 71af25f

Browse files
committed
add 003-basic-function content
1 parent fef6e14 commit 71af25f

File tree

3 files changed

+49
-8
lines changed

3 files changed

+49
-8
lines changed

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99

1010
1. [][在HTML中使用JavaScript](./article/001-use-javascript-in-html.md)
1111
2. [][基本概念-数据类型](./article/002-basic-data-type.md)
12-
3. [-]基本概念-函数
12+
3. [][基本概念-函数](./article/003-basic-function.md)
13+
4. [-]变量、作用域或内存问题
14+
5. [-]面向对象的程序设计
15+
6. [-]函数表达式
16+
7. [-]BOM
1317

1418
未完待续...

article/003-basic-function.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
## JavaScript 函数
2+
3+
### 1、理解参数
4+
5+
ECMAScript 函数的一个重要特点: 命名的参数只提供便利,但不是必须的。另外在命名参数方面,其他语言可能需要事先创建一个函数签名(即形参),而将来的调用必须与该签名一致。但在ECMAScript中,没有这些条条框框,解析器不会验证命名参数。运用这一特性,可实现函数的“重载”。
6+
7+
8+
```javascript
9+
function doSomeThing(arg1, arg2) {
10+
// 由于 arguments[0] 与 arg1 值相同,因此他们可以互换使用。
11+
// arguments 的值永远与对应命名参数的值保持同步。
12+
arguments[1] = 10;
13+
console.log(arg2); // 10
14+
}
15+
16+
```
17+
18+
关于参数:没有传递值的命名参数将自动被赋予 undefined 值。这就跟定义了变量但又没有初始化一样。
19+
20+
```javascript
21+
22+
```
23+
24+
#### 注意:
25+
**ECMAScript 中的所有参数传递的都是值,不可能通过引用传递参数。**
26+
27+
28+
29+
### 2、没有重载
30+
31+
ECMAScript 函数不能像传统意义上那样实现重载。而在其他语言中,可以为一个函数编写两个定义,只要这两个定义的签名(接受的参数的类型和数量)不同即可。ECMAScript函数没有签名,因为其参数是由包含零或多个值的数组来表示的。而没有函数签名,真正的重载是不可能做到的。

testFile/test.html

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
<html>
2-
<head>
3-
<title>Example HTML page</title>
4-
</head>
5-
<body>
6-
<!-- 这里放内容 -->
7-
<script type="application/javascript" src="test.js"></script>
8-
</body>
2+
<head>
3+
<title>Example HTML page</title>
4+
<script type="application/javascript">
5+
window.onload = function () {
6+
for (var temp in window) {
7+
document.write("" + temp + "<br>")
8+
}
9+
}
10+
</script>
11+
</head>
12+
<body>
13+
14+
</body>
915
</html>

0 commit comments

Comments
 (0)