| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -9,6 +9,10 @@ | |||
| 9 | 9 | ||
| 10 | 10 | 1. [√][在HTML中使用JavaScript](./article/001-use-javascript-in-html.md) | |
| 11 | 11 | 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 | ||
| 13 | 17 | ||
| 14 | 18 | 未完待续... | |
| Original file line number | Diff line number | Diff 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函数没有签名,因为其参数是由包含零或多个值的数组来表示的。而没有函数签名,真正的重载是不可能做到的。 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,9 +1,15 @@ | |||
| 1 | 1 | <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> | ||
| 9 | 15 | </html> | |
| Back | FazBrowse Home | New Git URL |
0 commit comments