0

ここに私が解決できない問題があります。私はPersonというオブジェクトを持っています。changeCol(el, col)というメソッドが追加されました。2 つのパラメーターが必要でした。1 つは要素への参照で、もう 1 つは色プロパティです。このメソッドを呼び出すと、要素の色が変更されます。これで、オブジェクトにchangeSize(size);という新しいメソッドが追加されました。. (サイズ) という 1 つのパラメーターが必要でした。今疑問なのは、要素に対して 2 番目のメソッドを呼び出すときに、色も変更してフォント サイズを大きくしたいということです。

最初の方法では、要素への参照を取得して色を変更します。だから、同じことを2番目の方法で繰り返したくない. では、最初のメソッドのパラメーターを 2 番目のメソッドに継承する方法。

これまでのコードは次のとおりです-

function Person(){

}
Person.prototype.changeCol = function(el, col){
  var elem = document.getElementById(el);
  elem.style.color = col;
};

Person.prototype.changeSize = function(size){

};



//here we are calling the method
var foo = new Person();
foo.changeCol('paragraph', 'blue');// this is working fine.
foo.changeSize('45px'); // this method will change the size and color as well.
4

2 に答える 2

0

ここで何かが欠けているかもしれませんが、これがどのように機能すると期待しているのかわかりません。

 var person1 = new Person();
 person1.setSize("45px");   // what should color be set to?

 var person2 = new Person();
 person2.changeColor("p1", green);

 var person3 = new Person();
 person3.setSize("45px");   // what us your intention now?

関数は互いに継承しません。すべてのインスタンスで el と color のデフォルト値を設定する場合は、それらをプロトタイプ プロパティとして設定します。

于 2013-08-06T12:17:36.273 に答える