一碗白粥加小笼包外带,共三块五,带到自己的电脑前滋味地吃起来,日复一日的,这个星期的早餐就这样过,或者会一直这样过,但……但什么呢?
………………….
开始写这篇东西时是早上8:15,然而写出上而一行无奈的省略号时,已经是晚上23:28,明天星期六……
照照镜子,发现又瘦了,胡子长了……
明天星期六,准备去中莫家吃饭,他亲自下厨,期待中!
(此文写于早上8:15,结束并发表于晚上23:34)
Popularity: 52% [?]
一碗白粥加小笼包外带,共三块五,带到自己的电脑前滋味地吃起来,日复一日的,这个星期的早餐就这样过,或者会一直这样过,但……但什么呢?
………………….
开始写这篇东西时是早上8:15,然而写出上而一行无奈的省略号时,已经是晚上23:28,明天星期六……
照照镜子,发现又瘦了,胡子长了……
明天星期六,准备去中莫家吃饭,他亲自下厨,期待中!
(此文写于早上8:15,结束并发表于晚上23:34)
Popularity: 52% [?]
模拟私有属性
好的,让我们看看闭包是怎么帮助我们模拟私有成员的吧。通常来说,一个函数内部的本地变量在外部是无法访问的。一旦函数创建,其内部所有的本地变量就消失了。但是,当其本地变量被闭包捕获后,它又复活了。这就是在JavaScript中模拟私有属性的关键之处。请看下面的Person类:
function Person(name, age) {
this.getName = function() { return name; };
this.setName = function(newName) { name = newName; };
this.getAge = function() { return age; };
this.setAge = function(newAge) { age = newAge; };
}
参数name和age对于Person构造函数来说属于本地变量。当Person返回时,假定参数name和age已经消失了,但当他们被4个内部函数捕获后,就复活回来了。而这4个内部函数是作为Person对象的方法而存在的,而name和age就严格地通过这4个方法来访问。所有你可以这样做:
阅读全文(Read the rest of this entry) »
Popularity: 48% [?]