我的一个同事总是将他们的jQuery变量设置为null,以有效地处理它们,一旦他们完成了工作,例如:
var bigThing = $(body);
// ...
// Do some stuff
// ...
bigThing = null;
这真的必要吗?
我的一个同事总是将他们的jQuery变量设置为null,以有效地处理它们,一旦他们完成了工作,例如:
var bigThing = $(body);
// ...
// Do some stuff
// ...
bigThing = null;
这真的必要吗?
尽管不是必须的,但习惯释放内存并移除引用是一个良好的实践。
虽然不是完全必要的,但这样做可以确保GC在下一次运行时清除它(对于您没有任何引用的所有分配,它都会这样做)。
在您的示例中,如果您将bigThing
设置为其他任何值(不一定是null),则$(body)对象(jquery扩展对象,而不是DOM body对象)将被清除。
Javascript有自己的垃圾回收器。因此,似乎不需要显式地处理对象。
但由于各种原因,例如垃圾回收器的错误实现等,可能会出现一些内存泄漏。
通过显式地将它们置为null,您可以指定给浏览器,在下一次垃圾回收时清除该内存。
总之,虽然这并非必须做的,但将JQuery / javascript对象置为null是一个好习惯。