2017-02-15 13 views
0

Я уверен, что это было предложено, но здесь идет:ссылки релиз в конце сценария

в Photoshop с помощью JavaScript это лучше, чтобы освободить ссылки на переменные в конце сценария

// Release references 
results = null; 
srcDoc = null; 
x = null; 

Без IDE мне нужно написать еще один скрипт, чтобы найти все ссылки на

var foo = bar;

поэтому я могу их перечислить, а затем отпустить их из исходного сценария? Нечто подобное в регулярных выражениях

/(var\s+)(.+)(\s+=\s+)(.+);?/gim 
+1

Вам не нужно «выпускать ссылки» - двигатели JS умны –

ответ

2

Когда вы присваиваете переменной значение null то, что вы делаете, очищая ссылку на данные, так что он будет иметь право на сбор мусора. Если никакая другая переменная в коде JavasSript не ссылается на одни и те же данные, она может быть освобождена сборщиком мусора. Если есть другая ссылка на данные, то она не будет освобождена.

Когда переменные выходят за пределы области действия или их родительский объект удаляется, они имеют право на сбор мусора.

Вам не нужно вручную удалять ссылки в коде, поэтому достаточно назначить переменную null.