一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

javascript必知必會之closure

  摘要

  本系列博文主要談一些在 Javascript 使用中經常會混淆的高級應用,包括: prototype, closure, scope, this關鍵字. 對于一個需要提高自己Javascript水平的程序員,這些都是必須要掌握的.本節主要介紹closure.

  什么是closure?

  一種定義是:A "closure" is an expression (typically a function) that can have free variables together with an environment that binds those variables (that "closes" the expression).

  我的理解是: closure 是一個表達式(通常是一個函數), 這個表達式與一個 環境 共享著一些自由變量, 而這個 環境 則 綁定 著那些自由變量(或者說 結束 這個表達式, 這也是所謂closure 的名字由來). 所謂的 環境 就是一個更大的block, 所有的自由變量在這個 block 中 聲明(有意義). 而 綁定 也就是指這些自由變量的作用域就是這個環境.

  舉個簡單的例子:

var flag = false;   //調試開關
//
env 既是所謂的環境
//
而inner就是所謂的表達式, name即是所謂的自由變量
function env() //整個env可以看作是一個closure
{
var name = "zhutao";
function inner()
{
return name + " is a student.";
}
return inner; //返回的是一個內部函數
}//closure結束
flag = true;
if (flag)
{
// 此處是最神奇的地方, 代碼執行在此處, inner函數其實已經出了env的body,
//
而仍然能夠被引用, 這就是所謂形成了一個 closure
var inner_func_ref = env(); // 這時候inner_func_ref引用的就是inner()函數對象
alert(inner_func_ref()); // zhutao is a student.
}

it知識庫javascript必知必會之closure,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品久久久久无毒 | 九九涩 | 国产区精品一区二区不卡中文 | 玖玖爱视频在线 | 99在线精品免费视频九九视 | 久久久久青草线蕉亚洲麻豆 | 91精品国产高清久久久久久 | 五月丁婷婷| 欧亚精品一区二区三区 | 欧美一区二区精品 | 极品美女一区二区三区 | 国产伦精品一区二区三区 | 国产精品19禁在线观看2021 | 91丨九色丨首页在线观看 | 亚洲国产精品久久 | 精品国产亚一区二区三区 | 日韩视频在线一区 | 亚洲免费视频网站 | 美女视频免费看一区二区 | 亚洲综合丁香婷婷六月香 | 四虎精品免费久久 | 99在线观看视频免费精品9 | 亚洲综合激情网 | 一区二区三区久久 | 美女黄色在线观看 | 欧美日韩国产一区二区三区在线观看 | 色婷婷欧美 | 中文乱码精品一区二区三区 | 国产成人99精品免费观看 | 在线视频亚洲一区 | 精品国产丝袜高跟鞋 | 国产精品1024永久观看 | 国产精品久久一区二区三区 | 一级毛片成人免费看免费不卡 | 美女网站黄免费 | 五月激情综合丁香色婷婷 | 99在线视频免费 | 日本综合欧美一区二区三区 | 国产成人综合日韩精品婷婷九月 | 久久久噜噜噜久久 | 真人午夜a一级毛片 |