В чем различие добавления свойств/функций классу
Можете подсказать в чем различие добавление свойств/функций классу
Например function user(){ this.getName = function(){ return "Vasya"; } } var u = new user(); u.getName(); или все то же только function user(){ } user.prototype.getName = function(){ return "Vasya"; } var u = new user(); u.getName(); Надеюсь я не чушь написал:D |
В первом случае используется так называемый перегруженный конструктор. По факту, объект не имеет никаких свойств, они у него появляются только в момент вызова конструктора. Этот метод не рекомендуется использовать по различным соображениям.
|
Цитата:
|
Цитата:
|
Цитата:
Да и есть такая штука, как сall и apply. |
В случае перегруженного конструктора невозможно достучаться к свойствам объекта, потому что их не существует.
|
Цитата:
|
function Class() { this.property = "property"; this.method = function () {}; } Каким образом я могу получить доступ к property или method? |
Цитата:
var o = {}; Class.call(o); // а здесь проверять, есть ли у "o" соответствующие методы и свойства |
Цитата:
|
Часовой пояс GMT +3, время: 22:58. |