來來來,一起五句話搞定JavaScript作用域
原文出處:http://3060674.blog.51cto.com/3050674/1812390
一、“JavaScript中無塊級作用域”
1
2
3
4
5
6
|
public static void main () { if ( 1 == 1 ){ String name = "seven" ; } System.out.println(name); } // 報錯 |
1
2
3
4
5
6
|
public static void Main() { if (1==1){ string name = "seven" ; } Console.WriteLine(name); } // 報錯 |
1
2
3
4
5
6
7
|
function Main(){ if (1==1){ var name = 'seven' ; } console.log(name); } // 輸出: seven |
二、JavaScript採用函式作用域
1
2
3
4
5
6
7
8
9
|
function Main(){ var innerValue = 'seven' ; } Main(); console.log(innerValue); // 報錯:Uncaught ReferenceError: innerValue is not defined |
三、JavaScript的作用域鏈
1
2
3
4
5
6
7
8
9
10
11
|
xo = 'alex' ; function Func(){ var xo = "seven" ; function inner(){ var xo = 'alvin' ; console.log(xo); } inner(); } Func(); |
四、JavaScript的作用域鏈執行前已建立
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
xo = 'alex' ; function Func(){ var xo = "seven" ; function inner(){ console.log(xo); } return inner; } var ret = Func(); ret(); // 輸出結果: seven |
-
全域性作用域 -> Func函式作用域 -> inner函式作用域
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
xo = 'alex' ; function Func(){ var xo = "eirc" ; function inner(){ console.log(xo); } xo = 'seven' ; return inner; } var ret = Func(); ret(); // 輸出結果: seven |
-
全域性作用域 -> Func函式作用域 -> inner函式作用域
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
xo = 'alex' ; function Bar(){ console.log(xo); } function Func(){ var xo = "seven" ; return Bar; } var ret = Func(); ret(); // 輸出結果: alex |
-
全域性作用域 -> Bar函式作用域
-
全域性作用域 -> Func函式作用域
五、宣告提前
1
2
|
console.log(xxoo); // 報錯:Uncaught ReferenceError: xxoo is not defined |
1
2
3
|
var xxoo; console.log(xxoo); // 輸出:undefined |
1
2
3
4
5
6
7
|
function Foo(){ console.log(xo); var xo = 'seven' ; } Foo(); // 輸出:undefined |
相關文章
- 五句話搞定JavaScript作用域JavaScript
- 說來話長的 Javascript 原型鏈JavaScript原型
- 一起來啃《JavaScript語言精粹》----函式JavaScript函式
- 從自定義一個作用域開始來了解SpringBean的作用域SpringBean
- 一起來學 TypeScriptTypeScript
- 一起來學習如何用 Node 來製作 CLI
- 一起來看MyBatis(一)MyBatis
- JavaScript 作用域 與 作用域鏈JavaScript
- 來一起讓我們越來越懶,面向CSS、JS未來程式設計CSSJS程式設計
- Javascript王者歸來JavaScript
- javaScript 作用域JavaScript
- JavaScript作用域JavaScript
- javascript之作用域與作用域鏈JavaScript
- Python 五點搞定作用域Python
- 一起來找bug茬-01
- 使用 Acorn 來解析 JavaScriptJavaScript
- 理解 JavaScript 作用域JavaScript
- javascript作用域鏈JavaScript
- 一起來聊聊 IP 地址、區域網、廣域網、IPV4 和 IPV6
- 一起來梳理JVM知識點JVM
- 和 Google Play 一起展望未來Go
- 一起來學習分散式鎖分散式
- 一起來談談 Spring AOP!Spring
- 西方文明來源於對話
- 深入理解JavaScript作用域和作用域鏈JavaScript
- 來來,一起設計一個簡單的活動釋出系統
- 我認真起來連面試官都怕(塊級作用域,事件代理)面試事件
- JavaScript模組打包的未來JavaScript
- 學習JavaScript作用域JavaScript
- javascript 詞法作用域JavaScript
- JavaScript 塊級作用域JavaScript
- JavaScript之作用域鏈JavaScript
- JavaScript深度理解——作用域JavaScript
- 圖解javascript作用域圖解JavaScript
- 淺談JavaScript作用域JavaScript
- javascript作用域總結JavaScript
- javascript作用域鏈理解JavaScript
- JavaScript作用域詳解JavaScript