这可能看起来像一个菜鸟问题,但我不知道该怎么做。我有两个变量的功能。
function someInfo(myVar1,myVar2)
{
this.lmyVar1=myVar1;
this.myVar2=myVar2;
}
myInstance=new someInfo("string1","string2");
function drawVariables(){
document.write(myInstance.myVar1);
document.write(myInstance.myVar2);
}
我想对多个实例使用相同的drawVariable()。我只是无法弄清楚它的确切语法。如何使drawVariable()使用someInfo的不同实例而不重复任何内容?是否有一个我可以遵循的简单示例或教程?
答案 0 :(得分:4)
在函数drawVariables
的定义中添加一个参数。在下面的代码中,此参数称为info
。现在,您可以在info
函数中使用drawVariables
作为对象,并在调用drawVariables
函数时,可以传递您想要传递的任何实例。 drawVariables
函数现在可以在调用时传递给它的任何实例。
function someInfo(myVar1,myVar2)
{
this.myVar1=myVar1;
this.myVar2=myVar2;
}
// Create two separate instances
myInstance=new someInfo("string1", "string1");
myInstance2 = new someInfo("string2", "string2");
// info is the argument that represents the instance passed to this function
function drawVariables(info){
alert(info.myVar1 + ", " + info.myVar2);
}
// Call the function twice with different instances
drawVariables(myInstance);
drawVariables(myInstance2);
请参阅http://jsfiddle.net/WLHuL/了解演示。
答案 1 :(得分:1)
function drawVariables(instance){
document.write(instance.myVar1);
document.write(instance.myVar2);
}
答案 2 :(得分:0)
你这样做会有意义吗?
function someInfo(myVar1, myVar2)
{
this.lmyVar1 = myVar1;
this.myVar2 = myVar2;
this.drawVariables = function ()
{
document.write(this.lmyVar1);
document.write(this.myVar2);
}
}
function Test()
{
var obj1 = new someInfo("aaa", "bbb");
var obj2 = new someInfo("xxx", "zzz");
obj1.drawVariables();
obj2.drawVariables();
}