|
|
|

16.06.2012, 14:31
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
|
Функция хранится в переменной в виде текста, вот что я хотел сказать и потом пояснил, за ту неточность пардон.
|
|
|

16.06.2012, 15:12
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
Ладно, Maxmaxmахimus, покажи мастер-класс: какими словами (только нормальными, без сленга) описать результат вывода alert-а в этом примере?
var a = function (s) {
alert(s)
}
alert(a)
|
|
|

16.06.2012, 16:58
|
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
|
Сообщение от bes
|
|
Функция хранится в переменной в виде текста,
|
http://es5.javascript.ru/x13.html#x13.2
|
Цитата:
|
объект типа Function создаётся следующим образом:
1. Создать новый родной объект ECMAScript. Пусть F будет этим объектом.
....
3. Внутреннему свойству [[Class]] для F присвоить "Function".
....
6. Установить внутреннее свойство [[Call]] для F, как описано в пункте 13.2.1.
....
20. Вернуть F.
|
Она хранится как вызываемый объект со специальным типом.
Последний раз редактировалось melky, 16.06.2012 в 17:01.
|
|
|

16.06.2012, 18:28
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
Maxmaxmахimus, не кодом.
|
Сообщение от melky
|
|
Она хранится как вызываемый объект со специальным типом.
|
Здесь логика понятна: раз объект, значит и хранится как объект.
Как правильно на словах обосновать текст функции, выводимый в alert()
|
|
|

16.06.2012, 18:37
|
|
Профессор
|
|
Регистрация: 07.06.2011
Сообщений: 315
|
|
|
bes,
alert это тоже метод глобального объекта, который при вызове приводит переданное ему значение к строке. объекты приводятся к строке путём вызова метода toString(). выше максмакстампакс показал как можно, переопределив этот метод изменить поведение alert().
|
|
|

16.06.2012, 18:40
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
|
ок, всё встало на свои места, tadjik1, спасибо
|
|
|

16.06.2012, 18:51
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
|
здесь + приводит к строке
|
|
|

16.06.2012, 18:53
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
alert( typeof (function (){} + function (){}) )
|
|
|

16.06.2012, 19:54
|
|
Профессор
|
|
Регистрация: 07.06.2011
Сообщений: 315
|
|
var a = new Boolean(false);
if(a) alert(a);
|
|
|

16.06.2012, 20:04
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
function q (){}
q.valueOf = function(){
return true
}
function w (){}
w.valueOf = function(){
return false
}
alert( q + w )
Далее можно не продолжать
|
|
|
|