0
私はJavaスクリプトで単純なプロトタイプの継承を行っていますが、ここでは2つのパラメータtitleを渡していますが、真ならtrueを返しますが、 "Angular Yes"の結果を得ていますが、代わりに「NaNを無」の結果になっていない「HTMLしても、」私はあなたのprint
方法の浮遊プラス記号を持っているHTMLなしプロトタイプ継承
//Base Class creation
var job = function() {
this.pays = true
}
job.prototype.print = function() {
console.log(this.pays ? 'yse' : 'no')
}
//Sub Class creation
var techjob = function (title, pays) {
job.call(this);
this.title = title;
this.pays = pays;
}
techjob.prototype = Object.create(job.prototype);
techjob.prototype.constructor = techjob;
job.prototype.print = function() {
console.log(this.pays ? this.title + " " + 'yes' : + this.title + " " + 'no')
}
var subject1 = new techjob("Angular", true);
var subject2 = new techjob("HTMl", false);
console.log(subject1.print())
console.log(subject2.print())
Result
Angular yes
NaN no
:これを試してみてください。私は2番目のものが代わりに 'techjob.prototype.print'に割り当てられることを意図していると考えています。 –
注:JavaScriptの*圧倒的な*慣習は、あなたの 'job'や' techjob'のような、 'Job'と' TechJob'のような、最初にキャップされるコンストラクタ関数です。明らかにコード内で好きなことをすることはできますが、助けを求めるときは標準的な規則に従うのが便利です。 –