什么是閉包(closure),為什么要用它?
閉包指的是一個函數可以訪問另一個函數作用域中變量。常見的構造方法,是在一個函數內部定義另外一個函數。內部函數可以引用外層的變量;外層變量不會被垃圾回收機制回收。
注意,閉包的原理是作用域鏈,所以閉包訪問的上級作用域中的變量是個對象,其值為其運算結束后的最后一個值。
優點:避免全局變量污染。缺點:容易造成內存泄漏。
閉包指的是一個函數可以訪問另一個函數作用域中變量。常見的構造方法,是在一個函數內部定義另外一個函數。內部函數可以引用外層的變量;外層變量不會被垃圾回收機制回收。
注意,閉包的原理是作用域鏈,所以閉包訪問的上級作用域中的變量是個對象,其值為其運算結束后的最后一個值。
優點:避免全局變量污染。缺點:容易造成內存泄漏。
function makeFunc()
{
var name = "Mozilla";
function displayName() {
console.log(name);
}
return displayName;
}
var myFunc = makeFunc();
myFunc();
個人vuepress搭建博客 https://wojiaozhangyonghao.github.io/goodBlog/
加群教你用vue + vuepress 搭建自己的博客
加入技術交流群
掃描二維碼