JavaScript中,new 构造函数中的非this属性实际存放到哪了
【JavaScript中,new 构造函数中的非this属性实际存放到哪了】 list是局部变量,正常在函数结束时会释放掉。但是你在pushList方法中引用了这个变量,这就构成闭包,list会一直在内存中不被释放。
■网友
new实例化一个对象,会给这个对象分配内存,这些属性还是在内存,只不过在外部访问不了。变量也不会被gc自动回收
■网友
存在实例化的对象的作用域里了啊,其实可以试试get set属性,感觉还是挺好的写法啊,我是蛮喜欢的 相对于每次实例化都要var一个变量出来,get设置就好多了。另外还可以defineProperty什么的,选择更加多样化。比如你这个写成Person.prototype={get list(){return new Array}}感觉很炫酷(反正我是比较喜欢这种,哈哈),就是ie8什么的不支持,还得写兼容,比较讨厌,限制ES5发挥。
推荐阅读
- 看看新闻Knews|掐大腿都不管用!司机疲劳驾驶 一脚油门撞店铺
- 看看新闻Knews|F1赛车起火折断 法国车手感谢“人字拖”救命
- javascript 中this的四种调用模式
- 在pat中怎样运用javascript等非常用语言做题
- javascript怎样关闭手机网页双指触屏
- 电动星球News|福特Mach-E EPA续航超300英里、特斯拉股价创新高、小鹏汽车股价大涨33% 市值超500亿美元 | 星球电讯
- 趣头条|经典新作———1:18 New Santana车模鉴赏
- javascript函数的调用模式有哪几种
- 电动星球News|广汽埃安独立,宣称投资千亿整合智能电动产业链
- 怎样评价柴云天这个人。