原則:就是函數及變數的宣告都會被提升到函數的最頂端。
結果:變數和函數都支援先試用後宣告
案例:
//变量提升x = 5; // 变量 x 设置为 5alert(x);var x; // 声明 x//函数提升print(5); //调用函数function print(y) { //声明函数 return y * y;}
##原理:在函數內嵌套另一個函數(另一個函數則為閉包) 結果:
#在js中沒有靜態變量,可以將函數內宣告的局部變數作為局部變數
怎麼保證局部變數只被呼叫一次,可以用變數賦值的方式,也就是第一次呼叫最外層函數,後面都會呼叫閉包
可以防止其他函數對其進行修改(其他函數可任意對全域變數進行修改)
#案例:
function count() { var counter = 0; return function () {return counter += 1;}} var add= count();add(); add();//值为二相關推薦:
JavaScript中如何判斷函數和變數存在的實例程式碼詳解
以上是js函數和變數的提升及閉包講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!