亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaSript中變量的作用域閉包的深入理解

 更新時間:2014年05月12日 10:36:02   作者:  
js中的變量都是公用的沒有靜態(tài)變量,下面為大家介紹下變量的作用域閉包,需要的朋友可以參考下
復制代碼 代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/*
* 1.js中的變量都是公用的.
2.js中沒有靜態(tài)變量
3.閉包:函數內部可以調用函數外部的變量;反之,則不行
*/

var r=10;
function test1(){
var r2="abc";
//alert(r)
}
//alert(r2);//不能訪問的函數內部的r2
test1();
//嵌套的函數中也ok啦
function test2(num1){
function test3(num2,num3){
return num2+num3+num1;
}
return test3(10,20)
}
//alert(test2(30));
//---------循環(huán)中的閉包------------------------
function testfun(){
var r=1;
var arr=[];
for(var x=0;x<3;x++){
r++;
arr[x]=function(){
return r;
}
}
return arr;
}
alert("testfun:"+testfun());
var arr2=testfun();
alert("arr:"+arr2[0]);
alert("arr:"+arr2[1]());
alert("arr:"+arr2[2]());
//==========以上三個彈出框的結果都是4==========
/*分析原因:
理解一下在JavaScript中函數是什么?
函數就是一段可執(zhí)行的代碼塊,函數也是可以用一個變量表示,比如函數的第二種定義方式
var add=new Function("a","return a+10");底層的本質就是這個函數名指向
了這一段為變量而創(chuàng)建的可執(zhí)行的代碼。
* 首先當testfun函數執(zhí)行完畢以后,arr[0],arr[1],arr[]中都是存儲了相同的
可執(zhí)行代碼塊function(){
return r
}也就是說上面三個是函數變量而已,要執(zhí)行它們只需要在變量名稱后面加()就ok了
而且這個時候r的值4
當執(zhí)行arr[0]()相當于執(zhí)行了這個代碼塊中的代碼。
所以最終的結果return r,當然返回4了。
*/

</script>
</head>
<body>

</body>
</html>

相關文章

  • javascript 面向對象function詳解及實例代碼

    javascript 面向對象function詳解及實例代碼

    這篇文章主要介紹了javascript 面向對象function詳解及實例代碼的相關資料,需要的朋友可以參考下
    2017-02-02
  • JS實現(xiàn)下拉菜單賦值到文本框的方法

    JS實現(xiàn)下拉菜單賦值到文本框的方法

    這篇文章主要介紹了JS下拉菜單賦值到文本框的方法,涉及javascript頁面元素的選擇與賦值的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • 微信小程序之滑動頁面隱藏和顯示組件功能的實現(xiàn)代碼

    微信小程序之滑動頁面隱藏和顯示組件功能的實現(xiàn)代碼

    這篇文章主要介紹了微信小程序之滑動頁面隱藏和顯示組件功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • WEB 前端開發(fā)中防治重復提交的實現(xiàn)方法

    WEB 前端開發(fā)中防治重復提交的實現(xiàn)方法

    這篇文章主要介紹了JS WEB 前端開發(fā)中防治重復提交的實現(xiàn)方法,涉及到表單提交的幾種方式介紹,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • JavaScript中document.querySelector函數用法介紹

    JavaScript中document.querySelector函數用法介紹

    這篇文章主要給大家介紹了關于JavaScript中document.querySelector函數用法的相關資料,document.querySelector是JavaScript中的一個內置方法,用于通過CSS選擇器選擇文檔中的第一個匹配元素,需要的朋友可以參考下
    2023-08-08
  • JavaScript數組Array的一些常用方法總結

    JavaScript數組Array的一些常用方法總結

    JavaScript的Array對象是用于構造數組的全局對象,數組是類似于列表的高階對象,下面這篇文章主要給大家介紹了關于JavaScript數組Array的一些常用方法,需要的朋友可以參考下
    2021-11-11
  • 微信小程序中post方法與get方法的封裝

    微信小程序中post方法與get方法的封裝

    這篇文章主要介紹了微信小程序中post方法與get方法的封裝的相關資料,希望通過本文能幫助到大家,讓大家掌握如何封裝,需要的朋友可以參考下
    2017-09-09
  • 微信小程序開發(fā)實現(xiàn)輪播圖

    微信小程序開發(fā)實現(xiàn)輪播圖

    這篇文章主要為大家詳細介紹了微信小程序開發(fā)實現(xiàn)輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 移動端界面的適配

    移動端界面的適配

    本文主要介紹了移動端頁面適配相關知識,用于解決在所有手機上看到字體的大小都一樣問題。下面跟著小編一起來看下吧
    2017-01-01
  • JavaScript中的偽數組用法及說明

    JavaScript中的偽數組用法及說明

    這篇文章主要介紹了JavaScript中的偽數組用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論