每日一贴,天今的内容关键字为闭包类
js并非一种面向对向的言语, 没有供提对类的支撑, 因此我们不能像在传统的言语里那样 用class来定义类, 但可以利用js的闭包装封机制来实现js类, 装封一个简的
CharlesObj
类.
function
CharlesObj
() {
alert("
CharlesObj
show");
alert("
CharlesObj
init");
}
这个类里定义了两个法方:show和init, 须要意注的是这里用到了this来明声, 而不是var, 因为用var是用来定义私有法方的.
var
cj =
new
CharlesObj(
);
cj.
show
();
cj.
init
();
我们如果问友人或查资料常通失掉的都是:
闭包就是指变量在某个作用域上的值,这个变量只在这个作用域上起作用。闭包对变量而言,闭包指某个作用域。
function f1(){
var n=999;
nAdd=function(){n+=1}
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
nAdd();
result(); // 1000
在这段代码中,result实际上就是闭包f2函数。它一共运行了两次,第一次的值是999,第二次的值是1000。这证明了,函数f1中的局部变量n始终保存在内存中,并没有在f1用调后被动自清除。
既然了解了闭包值会始终存在于内存中,那么天然我们不能滥用闭包,否则会大大加增内存的耗消
文章结束给大家分享下程序员的一些笑话语录: 某程序员对书法十分感兴趣,退休后决定在这方面有所建树。花重金购买了上等的文房四宝。一日突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风 范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:hello world.