Показать сообщение отдельно
  #6 (permalink)  
Старый 12.03.2013, 18:12
Аспирант
Отправить личное сообщение для jsgeek Посмотреть профиль Найти все сообщения от jsgeek
 
Регистрация: 13.02.2013
Сообщений: 34

jsjob, функции в javascript являются объектами. К ним можно добавлять свойства и методы.
Пример:
function newfunc() {};
newfunc.x = 1;
newfunc.y = 2;
newfunc.someMethod = function () { return this.x + this.y }

Они будут доступны с объекта данной функции. Пример
newfunc.someMethod(); // => 3
newfunc.x = 10;
newfunc.y = 11;
newfunc.someMethod(); // => 21

Они доступны как для чтения так и для записи. Недоступными для записи их можно сделать с помощью замыканий или введенных в ECMAScript 5 атрибутов свойств.
Хотя с замыканием ничто не помешает сделать так:
newfunc.closure();
newfunc.closure = function() { 'Ха-ха. Я злобный хакер!'}

Это могут исправить атрибуты свойств, но они не доступны повсеместно

Последний раз редактировалось jsgeek, 12.03.2013 в 18:23.
Ответить с цитированием