JS 閉包

function f1()
{
    var N = 0; // N是f1函數的局部變量
    
    function f2() // f2是f1函數的內部函數,是閉包
    {
        N += 1; // 內部函數f2中使用了外部函數f1中的變量N
        console.log(N);
    }
    return f2;
}
var result = f1();
result(); // 輸出1
result(); // 輸出2
result(); // 輸出3
function Product() {
	var name;
    this.setName = function(value) {
        name = value;
    };
    this.getName = function() {
        return name;
    };
}
var p = new Product();
p.setName("Fundebug");
console.log(p.name); // 輸出undefined
console.log(p.getName()); // 輸出Fundebug

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章