使用javascript模块模式是否安全?
is it safe to use javascript module pattern?
我一直在使用javascript模块模式一段时间。
我向我的一个同事展示了一个模块模式的例子。他说下面的代码会导致内存泄漏。
var test = (function(){
var events = {
// my functions go here
}
return {
// return something
}
}());
他说,由于事件变量是一个对象,我没有为它设置null,即使我为测试设置null,也会导致内存泄漏。
据我所知,上面的代码片段没有问题,因为我没有传递事件。
我需要建议!
我认为你的代码很好。闭包中的内存泄漏发生在对DOM元素的引用时,因为循环引用(foo
保留element
, element
保留foo
,因此它们永远不能被垃圾收集):
function foo(element, a, b) {
element.onlick = function(a, b) { /* uses a and b */ };
}
我的信念来源在这里
@moon -何必太担心呢?代码在两次访问之间执行的频率是多少?会丢失多少字节?然后你必须考虑不同的浏览器来解释和运行你的Javascript。
总之——把精力集中在别处——那么你会得到更好的回报。
相关文章:
- 是否存在React Native“;WEB代码安全防护”;
- ES6 模板文字是否比 eval 更安全
- 当eval只执行服务器端数据时,在javascript中使用eval是否安全
- 内容安全策略指令:;脚本src'self'blob:文件系统:chrome扩展资源:“;获取是否时
- 假设浏览器渲染为60 fps是否安全
- 如果条件将长 JavaScript 拆分为多行是否安全
- 如何检测 javascript 文件是否被 IE11 安全设置阻止
- 如何检测在 Javascript 中使用“in”运算符是否安全
- 为用户应用程序托管 javascript 文件是否安全
- arguments.callee是否仍然可以安全使用,或者是否有更好的选择
- 使用AngularJS是否安全
- Angular-使字符串对URL安全-路由是否正确
- 在JavaScript源代码中使用UTF-8字符文字是否安全
- 每隔1秒调用一次jQueryajax是否安全
- 是否可以向用户发送javascript代码's浏览器安全
- 使用Ajax提交表单是否安全
- 重新触发Javascript事件是否安全
- Safari 7,Mac OS X:确定Java是否处于'不安全'模式
- 使用for.of迭代时删除集合中的元素是否安全
- jQuery(userInput)对最终用户来说是否“安全”