Сообщение от Kolyaj
|
Тонкости ECMA-262-3. Часть 7. ООП.
|
Всё равно не понятно. Как отличить функцию от функции-конструктора?
Что означает знак доллара в "if(!$.isArray(text)) {" ?
Не могу понять код:
// 1)
function V2(a, b) {
this.a = a;
this.b = b;
}
// 2)
v2 = function(a, b) { return new V2(a, b); }
// 3)
V2.prototype.mul = function(x) { return v2(this.a*x, this.b*x); }
V2.prototype.magnitude = function() { return Math.sqrt(this.a*this.a + this.b*this.b)}
V2.prototype.normalize = function() { return this.mul(1/this.magnitude()); }
1) - объявляем функцию, но не выполняем.
2) - Это тоже самое, что и
function v2(a, b) { return new V2(a, b); }
или не тоже самое? Вроде как функция которая возвращает объект со свойствами а и b.
3) Вообще не понял. Объявляем прототипом функцию, которая возвращает объект который вызывает функцию, которая является функцией того, чему объявляем прототип. Что здесь this? Чего всё это делает - вообще ничего не понял.