Почему не удаляется функция созданная как объект?
Пример кода
var f = new Function (alert('hello'));
f=null;
f();
продолжает работать. Почему? |
ошибку же пишет error: 'f' is not a function
а какой реакции вы ожидали? |
var f = new Function (alert('hello'));
f=null;
alert(f);
var f = new Function (alert('hello'));
Просто кто-то не знает как использовать конструктор new Function() :) |
Цитата:
так, понял, это alert а не ф-я. Но тогда вопрос почему такое только через объектный синтаксис происходит. Цитата:
|
Цитата:
var f = (alert('hello'));
|
Цитата:
|
Не буду ничего объяснить, для тех кто не может прочитать по ссылке :)
Могу только сказать, что ты ерунду пишешь: Цитата:
|
Цитата:
Я и говорю что след-но alert в данном случае принадлежит window а не lexicalenv и потому обnullуние функции на вызов не влияет. |
Цитата:
|
ryh,
:-?
var f = new Function (alert('hello'));
alert("f = "+f);
|
"Подстановка" :)
var f = new Function (alert('hello'));
можно преобразовать к виду:
var x = alert('hello');
var f = new Function(x);
|
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 04:55. |