Конструктор, передача this
Проверка на правильность вызова конструктора Передача this через apply
by Евгений
JavaScript
function Human(name) {
if (! (this instanceof Human)) {// проверка вызывался ли конструктор правильно - с new
return new Human(name);
}
this.name = name;
}
Human.prototype.say = function(what) {
return this.name + ' говорит: ' + what;
}
function speaksTo(someone) {
return this.name + ' говорит с ' + someone.name;
}
var eugene = new Human('Евгений');
var eugenka = Human('Евгения');
console.log(eugene.say('привет'));
console.log(speaksTo.apply(eugene, [eugenka]));