Вопрос по определению функции
Изучая ява-скрипт, ни как не могу понять принцип работы такой записи:
var p = function(){ .... }; p.def = { ... }; Чем, в данном случае, является объект p.def? Свойством класса? А сама p = function() - это получается конструктор? Поясните, пожалуйста, новичку. Хочется разобраться. Спасибо. |
Т.к. p -- функция, то p.def, очевидно, является свойством функции.
|
Kolyaj, спасибо. То есть не только у объектов, но и у функций есть свойства?
И как из функции правильно обращаться к ее свойствам? |
Цитата:
Цитата:
varName.propertyName |
Цитата:
|
B@rmaley.e><e, Kolyaj
Спасибо. И последний нюанс, если сделаю new p() , то p.def становится свойством класса ? и к нему можно обращаться теперь из методов, с помощью указателя this ? |
Нет.
|
Kolyaj, а почему нет? поясните, пожалуйста.
|
|
Просто мне казалось что:
var test = new p() test.def - свойство объекта будет равно значению p.def |
Ну я не могу ответить, почему вам так кажется. Читайте ссылку.
|
Цитата:
var foo = function() { this.some = 1; }; foo.prototype.some = 2; foo.some = 3; var bar = new foo(); alert([ bar.some, // однако, если в конструкторе foo не будет определено свойство some, то значением будет взято из прототипа! foo.prototype.some, bar.constructor.some ]); |
Kolyaj, monolithed
Спасибо большое. Разобрался) |
Часовой пояс GMT +3, время: 17:35. |