摘要: 写个小例子:第一步:做一个“手机的类"var MobilePhone = (function(){ …………})()第二步:考虑这个类,里需要那些类的私有属性,这里我想定义的是实例出来手机的数量var MobilePhone = (function(){ //私有属性 var count = 0; //代表手机的数量})()第三步:创建一个构造函数,即实例时候,对产生的新象的一个初始化,例如属性,方法的初始化;在这个例子中,每一个手机都会有颜色,大小,价格属性.这里的构造函数也是一个闭包,所以可以访问count,并且count的值会长期保存在内存中(只要有引用... 阅读全文
posted @ 2012-05-18 15:36 o0Luffy0o 阅读(405) 评论(2) 推荐(1) 编辑
摘要: function fors(){ obj_a = obj_b; obj_b.attr = obj_a; }function fors(){ obj_b = {}; obj_b.attr = obj_b; }上面是两个个很显示的循环引用,IE中产生了内存泄露,由于IE的内存回收机制,导至会长期占用内存而不能释放。但闭包的内存泄露,有些隐蔽。因为闭包的循环引用,是间接的。function iememery(){ var js_obj = document.createElement("div"... 阅读全文
posted @ 2012-05-18 12:02 o0Luffy0o 阅读(2215) 评论(0) 推荐(0) 编辑
摘要: 最近在网上盾一些JS面向对象的东西。把其他高手们总结的东西,加上自己的理解,总结一下:私有方法:私有方法本身是可以访问类内部的所有属性的,即私有属性和公有属性。但是私有方法是不可以在类的外部被调用。私有方法写法:function myClass () { 4 var private_attribute = initial_value; 5 function private_method () { } 6 var private_method2 = function () { } 7 }实例showpet()就是一个私有方法var pe... 阅读全文
posted @ 2012-05-18 10:40 o0Luffy0o 阅读(581) 评论(2) 推荐(1) 编辑