程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> javascript-求教大神,關於js 閉包的問題

javascript-求教大神,關於js 閉包的問題

編輯:編程解疑
求教大神,關於js 閉包的問題
function w(){
    var c = 8;

    function b() {
        console.log(c);
        c++;
    }
    return b;
}
w()()//8
w()()//8
w()()//8

var d = w();
d()//8
d()//9
d()//10

將w()()拆開成var d = w();d();運行後,執行結果為什麼不一樣

最佳回答:


w()()這樣執行就是每次都執行了c=8【w()】,然後再執行b(),當然是8

var d=w(),這樣是d等於裡面的b函數,在執行就是d()每次引用的都是c,直接操作初始化的c=8

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved