【发布时间】:2013-08-06 12:06:13
【问题描述】:
这是一个我无法解决的问题。我有一个名为 Person 的对象。我添加了一个名为 changeCol(el, col) 的方法,它需要两个参数,一个是对元素的引用,另一个是颜色属性。所以当我们调用这个方法时,这将改变元素的颜色。现在我将一个新方法附加到名为 changeSize(size); 的对象上。它需要一个称为(大小)的参数。现在的疑问是我什么时候会调用第二个方法给一个元素,我也想改变颜色并增加字体大小。
在第一种方法中,我引用了元素并更改了颜色。所以,同样的事情我不想在第二种方法中重复。那么,如何将第一个方法的参数继承给第二个方法。
这是到目前为止的代码 -
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.
【问题讨论】:
-
changeSize()方法是否会在某个时候独立于changeCol()函数调用,或者它们总是一起调用? -
当
changeCol()对Person原型没有任何作用时,它有什么意义呢? -
我想单独调用 changeSize() 方法。但它也会改变颜色。所以可能 changeCOlor 方法会在 changeSize 方法中执行。
-
但是改变颜色需要参数:这些值是从哪里来的?
标签: javascript oop object inheritance