Kni*_*ght 0 javascript arrays function object
我正在学习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
}
Run Code Online (Sandbox Code Playgroud)
调用的输出f2()是:
Test: par3
Test: par3
test undefined
Run Code Online (Sandbox Code Playgroud)
这有意义,funk被调用两次并记录前两行.第三行是test undefined因为funk不返回任何东西.它被调用并记录其测试行,然后返回undefined以记录在f2函数的最后一行.