Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Общие вопросы

new Function() !!!

> Информацию по объекту Function нашла. Все вроде бы понятно.

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

a=new Array(1,2,3) и a=[1,2,3]
a=new Object() и a={b:1}
a=new Function("...") и a=function(){...}

Функция в джаваскрипте -- объект "первого класса", т.е. ее можно присваивать, передавать как параметр итп.

Разница между конструктором и литералом довольно тонкая, но существенная. Попробуйте понять, что и почему происходит в этом примере:

<button id=b1></button>
<button id=b2></button>
<script>
window.onload=function()
{
.var temp='aga!';
.b1.onclick=new Function("alert(temp)");
.b2.onclick=function(){alert(temp)}
}
</script>

При прочих равных следует всегда использовать литерал, а не конструктор.
СообщениеАвторДата
Pipa16.03.2003 23:27
Dworkin17.03.2003 12:43
Pipa17.03.2003 23:03
Pipa18.03.2003 05:11
гоша18.03.2003 13:43
Pipa18.03.2003 17:43
гоша18.03.2003 18:13
Pipa18.03.2003 20:25
гоша19.03.2003 14:48
Leechy18.03.2003 13:37