使用JavaScript函数传递变量

时间:2009-11-11 07:43:58

标签: javascript

我试图通过下面的GetDetail函数传递变量。我可以传递字符串/数字,它可以正常工作。

但我无法传递变量

detLink.onclick = new Function ("GetDetails()");
detLink.setAttribute('onclick',"javascript:GetDetails()")

4 个答案:

答案 0 :(得分:5)

detLink.onclick = function () { GetDetails ( parameter1, parameter2, ... );  }

这是anonymous function

另请阅读The function expression(函数运算符)

函数表达式与函数声明

类似,并且具有相同的语法
function [name]([param] [, param] [..., param]) {
   statements
}
  

名       功能名称。可省略,在这种情况下功能变为   称为匿名函数。

     

PARAM       要传递给函数的参数的名称。一个功能可以   最多有255个参数。

     

语句       构成函数体的语句。

答案 1 :(得分:0)

detLink.setAttribute('onclick',"javascript:GetDetails("+yourVariableName+")")

当您设置属性时您正在使用字符串数据类型,因此您必须使用变量VALUE

来拼接函数名称

答案 2 :(得分:0)

如果您在设置点击处理程序时可以访问相关变量,

detLink.onclick = function() { 
  GetDetails(foo); 
}

如果你不这样做,

detLink.id = uniqueId;
detLink.onclick = function() {
  var foo = globalData[this.id];
  GetDetails(foo);
}

// somewhere else in your code, where you know the value of the variable
globalData[detLink.id] = foo;

答案 3 :(得分:-2)

var val1 = "Hell world"
detLink.onclick = GetDetails( val1 );

function GetDetails( myVar ){
   alert ( myVar );
}