我很新的編程,但不能理解一些基本概念。 (我從另一個w3schools頁面重定向到告訴我'避免全局變量')。爲什麼閉包比JavaScript中的全局變量更安全?
但是,我真的不明白如何關閉「擊敗」全局。
從我所看到和閱讀的內容來看,全局變量是危險的,因爲任何腳本或用戶都可以修改它們,可能會破壞代碼功能。
Anyway-如果我們考慮代碼的鏈接:
var add = (function() {
var counter = 0;
return function() {return counter += 1;}
})();
如果我們考慮到全局變量:
var counter = 0;
function add(){
counter = counter+1;
return counter;
}
如何是第一種情況少用腳本比第二訪問?這兩種情況下都不需要一行代碼來更改變量嗎?即來到我的腦海裏的唯一的事情是在它被執行另一個函數聲明關閉,因此它成爲唯一的本地訪問:
function exec(){
var add = (function() {
var counter = 0;
return function() {return counter += 1;}
})();
console.log(add());
}
但我不認爲這會做的工作。