首頁  >  文章  >  web前端  >  js函數和變數的提升及閉包講解

js函數和變數的提升及閉包講解

小云云
小云云原創
2018-03-14 10:24:301463瀏覽

本文主要和大家分享兩個重要的知識點,函數和變數的提升和閉包的原理用法詳解,希望能幫助大家。

函數與變數的提升

原則:就是函數及變數的宣告都會被提升到函數的最頂端。
結果:變數和函數都支援先試用後宣告
案例:

//变量提升x = 5; 
// 变量 x 设置为 5alert(x);var x; 
// 声明 x//函数提升print(5); 
//调用函数function print(y) 
{ //声明函数    return y * y;}

#閉包

##原理:在函數內嵌套另一個函數(另一個函數則為閉包) 結果:

  1. #在js中沒有靜態變量,可以將函數內宣告的局部變數作為局部變數

  2. 怎麼保證局部變數只被呼叫一次,可以用變數賦值的方式,也就是第一次呼叫最外層函數,後面都會呼叫閉包

  3. 可以防止其他函數對其進行修改(其他函數可任意對全域變數進行修改)

#案例:

function count() 
{    var counter = 0;        
return function ()     
{return counter += 1;}}
var add= count();add();
add();//值为二
相關推薦:

JavaScript中如何判斷函數和變數存在的實例程式碼詳解

基礎的JavaScript知識總結(十)閉包、立即執行函數

#JavaScript中的閉包#

以上是js函數和變數的提升及閉包講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn