javascript函式讀取變數作用域簡單介紹
關於作用域的基本概念可以參閱javascript作用域詳解一章節。
但是下面再介紹一個細節,可能不少的朋友都沒有注意到,因為看到不少人在提問。
先看一個程式碼例項:
[JavaScript] 純文字檢視 複製程式碼var num=10; function foo(){ console.log(num); } function func(){ var num=100; foo(); } func();
上面的輸出結果是10,可能很多人認為是100。
他們的思路是:foo()函式中沒有變數num的定義,所以向上查詢,於是在func函式中找到。
其實並不是這麼回事,foo()函式要去建立這個函式的作用域取值,而不是在呼叫它的父作用域。
相關文章
- python函式作用域簡介Python函式
- 函式(三)作用域之變數作用域、函式巢狀中區域性函式作用域、預設值引數作用域函式變數巢狀
- Python 函式和變數作用域Python函式變數
- javascript變數物件函式呼叫棧作用域閉包等細解!JavaScript變數物件函式
- 簡單介紹nginx 變數使用Nginx變數
- 十二、變數作用域:區域性變數、全域性變數,函式版名片管理系統—新增函式文件變數函式
- JavaScript 簡單介紹JavaScript
- JavaScript之變數及作用域JavaScript變數
- JavaScript中變數和作用域JavaScript變數
- JavaScript 變數的作用域鏈JavaScript變數
- JavaScript塊級作用域宣告函式JavaScript函式
- 簡單介紹克隆 JavaScriptJavaScript
- 簡單介紹JS函式防抖和函式節流JS函式
- 現代 JavaScript 的變數作用域JavaScript變數
- javascript函式中with的介紹JavaScript函式
- [JavaScript基礎] 函式,初識作用域JavaScript函式
- 簡單介紹python的input,print,eval函式Python函式
- 簡單介紹Python 如何擷取字元函式Python字元函式
- Python入門(十八):變數作用域與巢狀函式Python變數巢狀函式
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- 簡單介紹JavaScript閉包JavaScript
- 函子的簡單介紹
- javascript中generator函式的介紹JavaScript函式
- javascript高階函式的介紹JavaScript函式
- 簡單介紹Linux環境變數檔案Linux變數
- 簡單介紹SQLserver中的declare變數用法SQLServer變數
- JavaScript 之有趣的函式(函式宣告、呼叫、預解析、作用域)JavaScript函式
- match函式簡單介紹以及與index函式結合應用函式Index
- 簡單介紹Python中的配對函式zip()Python函式
- 簡單介紹SQL中ISNULL函式使用方法SQLNull函式
- 變數作用域變數
- JavaScript return語句簡單介紹JavaScript
- JavaScript希爾排序簡單介紹JavaScript排序
- Javascript 函式和變數提升JavaScript函式變數
- Java static變數、作用域、建構函式初始化順序Java變數函式
- 『無為則無心』Python函式 — 30、Python變數的作用域Python函式變數
- 機器學習之簡單介紹啟用函式機器學習函式
- Caffeine快取的簡單介紹快取
- linux c 環境變數函式 getenv putenv 簡介Linux變數函式