从一个jQuery插件说说垃圾回收

Condition

最近维护一个老项目,发现有一个省市区picker,在回显动态值的时候,有条件约束,不能直接赋值上去。 于是我的一个技术经理,给出了一个思路,先销毁,再赋值,jquery插件重新初始化,可能这个插件件就可以自动加上约束(事实证明还是不行) 但是插件没有提供销毁方法,与其探讨之后,决定先实例化之后挂载在window上(因为不在同一个立即函数里),再在重新初始化的handler里 将其设为null,这样不就释放了吗

Why

因为绑定的事件没有解绑 导致新初始化的组件被调用两次

How

一种办法 jquery插件是肯定引用了dom的jquery对象 相当于一个闭包 释放掉dom 事件就会解绑 另一种办法 用unbind来进行解绑