Поскольку функции являются объектами первого класса, их должно быть возможно присвоить их членам.Как назначить членам функции?
Я правильно думаю, что arguments.callee
делает это?
Есть ли другие способы установить эти поля?
Как можно установить field
в первом случае?
function something1() {
arguments.callee.field = 12;
}
alert(something1.field); // will show undefined
something1();
alert(something1.filed); // will show 12
something2 = function() {
arguments.callee.field = 12;
};
alert(something2.field); // will show undefined
something2();
alert(something2.field); // will show 12
UPDATE 1
Я имею в виду, как получить доступ пользователей из функции, когда он работает.
Могу ли я написать 'something2 = function something3() {...};' и какая разница между двумя именами? – Dims
@ Dims: Да, вы можете. Разница в том, что имя 'something3' является локальным для функции, тогда как имя' something2' будет иметь любую внешнюю область, которую вы ожидаете. Так, например, вы можете написать «var f = function g() {alert (g); }; оповещение (е); f(); '- с' g' используется внутри функции, а 'f' используется впоследствии. – ruakh