Skip to content

Commit 8c55812

Browse files
committed
update
1 parent d7d9d3e commit 8c55812

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

README.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
4. 变量、函数和运算符
5858

5959
- [变量声明](#变量声明)
60+
- [函数声明](#函数声明)
6061

6162
### 缩进层级
6263

@@ -1131,7 +1132,74 @@ function doSomething() {
11311132
```
11321133
- 这个函数得出的结果是NaN值。
11331134
1135+
- 作者倾向的风格,把所有定义放在作用域开始部分,用逗号分隔,可以节省写`var`的字节。
1136+
```javascript
1137+
function doSomethingWithItems(items) {
1138+
1139+
var value = 10,
1140+
result = value + 10,
1141+
i,
1142+
len;
1143+
1144+
for (i=0, len=items.length; i < len; i++) {
1145+
doSomething(items[i]);
1146+
}
1147+
}
1148+
```
1149+
1150+
[返回顶部](#编程风格)
1151+
1152+
### 函数声明
11341153
1154+
- 函数声明也会被javaScript引擎提前。
1155+
```javascript
1156+
// 不好的写法
1157+
doSomething();
1158+
1159+
function doSomething() {
1160+
alert('Hello world!');
1161+
}
1162+
```
1163+
- javaScript会把代码解释为
1164+
```javascript
1165+
function doSomething() {
1166+
alert('Hello world!');
1167+
}
1168+
1169+
doSomething();
1170+
```
1171+
- 我们应该先声明函数再使用
1172+
```javascript
1173+
function doSomethingWithItems(items) {
1174+
1175+
var i,len,
1176+
value = 10,
1177+
result = value + 10;
1178+
1179+
function doSomething(item) {
1180+
// 代码逻辑
1181+
}
1182+
1183+
for (i=0, len=items.length; i < len; i++) {
1184+
doSomething(items[i]);
1185+
}
1186+
}
1187+
```
1188+
-- 另外,函数不应该出现在语句块之内。
1189+
```javascript
1190+
1191+
// 不好的写法
1192+
if (condition) {
1193+
function doSomething() {
1194+
alert('hi');
1195+
}
1196+
} else {
1197+
function doSomething() {
1198+
alert('Yo');
1199+
}
1200+
}
1201+
```
1202+
- 因为函数的声明会被提前,所以不管这里的条件满足与否,第二个同名的函数会把第一个函数覆盖。所以上面的代码不会按照我们的意图来执行。
11351203
11361204
[返回顶部](#编程风格)
11371205

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy