JavaScript面向对象编程重要概念回顾
1. 闭包(Closures)
闭包允许内部函数将其父函数(对象)的执行上下文作为其作用域链的一部分进行访问。当外部函数作用域中的值发生变化时,内部函数可以访问到最新的值。
1.1 闭包示例
function myClosedObject (){
var privateValue = 5;
function privateFunc (){
privateValue *= 2;
return privateValue ;
}
// 特权方法
this.publicFunc = function(){
return privateFunc();
};
}
var firstObj = new myClosedObject ();
console.log(firstObj.publicFunc()); // 输出 10
console.log(firstObj.publicFunc()); // 输出 20
在上述代码中,首先创建了 myClosedObject 的一个实例,然后执行该实例的 publicFunc 方法。第一次调用将 privateValue 的值从 5 变为 10,第二次调用时,由于闭包的存在, privateValue 的值被保留,使用最新值 10 进行计算,最终返回 20。
超级会员免费看
订阅专栏 解锁全文
1507

被折叠的 条评论
为什么被折叠?



