當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
经典面试题(13):如何理解和应用JavaScript闭包?
生活随笔
收集整理的這篇文章主要介紹了
经典面试题(13):如何理解和应用JavaScript闭包?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
關(guān)于閉包概念很多人覺得很抽象,你可以理解閉包是一種使函數(shù)能夠都去其它函數(shù)的局部變量的語法機(jī)制。
舉個例子:
function outFunc(){
? ?var name = "前端君";
? ?function inFunc(){
? ? ? ?console.log(name);
? ?}
? ?return inFunc;
}
inFunc(); //控制臺顯示"前端君"
這這個例子我們可以看出,在函數(shù)?inFunc?中依然可以訪問?otuFunc?的局部變量?name?。
閉包應(yīng)用舉例:模擬類的私有屬性。看下面的例子。
function User(){? ?this.name = "前端君"; ?//公有屬性
? ?var age = 23; ? ?//私有屬性
? ?this.sayAge = function(){
? ? ? ?console.log("my age is " + age);
? ?}
}
var user = new User();
console.log(user.name);
//"前端君"
// 私有屬性不可直接訪問
console.log(user.age);
//"undefined"
//但可以通過sayAge訪問
user.sayAge();
//"my age is 23"
利用閉包的性質(zhì),局部變量只有在?sayAge?方法中才可以訪問,而?name?在外部也訪問,從而實(shí)現(xiàn)了類的私有屬性。
這就是閉包在實(shí)際開發(fā)的其中一個很常見應(yīng)用。
熱門文章
原創(chuàng)教程原創(chuàng)教程:
附加習(xí)題:
職場焦慮:
感到迷茫:
培訓(xùn)出身:
培訓(xùn)費(fèi)用:
搞笑黑話:
職業(yè)自由:
職場形象:
合作推廣分割線
總結(jié)
以上是生活随笔為你收集整理的经典面试题(13):如何理解和应用JavaScript闭包?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈慎独2017-12-19
- 下一篇: 从马克思哲学客观原理角度——反思大学生创