【发布时间】:2016-03-11 17:10:03
【问题描述】:
我正在学习 javascript,但在从表中调用函数时遇到问题。代码如下:
function Constructor(v1,v2,v3)
{
this.v1 = v1;
this.v2 = v2;
this.funk = function()
{
console.log("Test: "+ v3 );
}
}
var obj1 = new Constructor("par1","par2","par3");
var arr = ["w1","w2","w3",obj1];
function f2()
{
obj1.funk(); //works ok
console.log("test "+arr[3].funk.call() ); //doesn't work
}
【问题讨论】:
-
arr[3].funk()你为什么不用这个? -
对不起,我已将名称更改为 arr。 @Rajaprabhu Aravindasamy arr[3].funk() 给了我“未定义”
-
不,它应该有效。 jsfiddle.net/gy94kvLf
-
那是因为你没有从 this.funk 返回任何东西——所以字符串 concat 是未定义的。如果没有返回,那么 javascript 总是从函数返回 undefined
标签: javascript arrays function object