一、變數作用域
作用域:變數或者函式可訪問範圍
全域性作用域:在全域性作用域下宣告的變數,可以在任意合法位置訪問到。
函式作用域:在函式中使用var 宣告的變數,只能在函式內部訪問到。
//a是全域性作用域下的變數,可以在任意合法位置訪問
var a =1;
functionfn(
)console.
log(a)
;//1fn(
);//1 2
//函式內使用var宣告的變數不能被外部訪問
console.
log(b)
;
function
fun(
)fun()
;console.
log(c)
;//30
function
myfun()
// 呼叫函式,執行函式體**
myfun()
;console.
log(d)
;//4
變數的提公升
js程式執行前,當前作用域下使用var宣告的變數,會將宣告提公升到最前面,但是賦值還是在原來的位置。
//先檢查當前作用域,使用var宣告的變數,把宣告提公升到最前邊,賦值還是在位置
var a;
//undefined;
console.
log(a)
;//undefined;
var a =1;
//a = 1;
console.
log(a)
;var b =10;
//先提公升b(var b;),然後列印b為未定義。
functionfn(
)fn()
;var b =10;
functionfn(
)fn()
;var c =5;
function
fun(c)
fun(7)
;console.
log(c)
;//5
乙個函式作用域 下被外部函式呼叫,可以使用閉包
和變數作用域一樣,也分為全域性作用域和函式作用域
函式宣告提公升
和變數提公升一樣,使用function關鍵字建立的函式,宣告也會提公升到所在作用域最前邊。在任意合法位置都可以呼叫。
//在全域性作用域下建立的函式
functionfn(
)fn()
;//在函式作用域下建立函式
function
fun(
)fun1()
;//fun1只能在當前的作用域下呼叫
}fun()
;//3
//函式作用域下的函式不能被外部呼叫,只能在當前作用域下呼叫。
fun1()
;//uncaught referenceerror: fun1 is not defined
//乙個函式作用域下被外部函式呼叫,可以使用閉包
myfun()
;function
myfun()
函式 引數 變數作用域
一 函式引數 1.必須引數 必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。呼叫printme 函式,你必須傳入乙個引數,不然會出現語法錯誤 小括號內的就是引數 小括號內沒東西叫做無參,有叫有參 求任意三個數之和 在定義函式的時候小括號內寫的是變數名字,不需要賦值 在呼叫函式的時候小...
作用域,變數作用域,作用域鏈知識
第2章 變數作用域 第3章 作用域鏈 預覽 1.全域性作用域 整個script標籤下 或者是單獨的js檔案 外部js 2.區域性作用域也叫 函式作用域 在函式內部就是區域性作用域 這個 的名字 變數 只在函式內部起作用和效果 3.不同作用域下,定義相同變數名是不衝突的。如果是在同一作用域宣告2個相同...
變數作用域
python任何變數都有其特定的作用域 在函式內部的變數一般只能在函式內部使用,這些只能在程式特定的區域使用的變數稱為區域性變數.在乙個檔案頂部,在函式的外部定義的變數,可以供該檔案的任何函式呼叫,這樣的變數稱為全域性變數 區域性變數和全域性變數的關係 區域性變數可以通過global關鍵字強制宣告為...