将值传递给函数

时间:2015-08-11 17:00:00

标签: javascript

编辑:'更多'链接是从这里建立的:

document.getElementById("elenco_fiveboard").insertAdjacentHTML('beforeend', 
    "<li>" +
    "Titolo: " + valore_comando + " " + 
    "(<a href='javascript:getInfo("+ valore_comando +");'>" +
    "more" + "</a>)" +
    "</li>"); 

所以我必须用连字符包装valore_comando但是我在尝试写

时遇到错误
"(<a href='javascript:getInfo(""+ valore_comando +"");'>" +

"(<a href='javascript:getInfo('"+ valore_comando +"');'>" +

很抱歉,但我对JS语法并不是很强,我从一些不属于我自己的代码开始。

我有这个简单的JS函数:

  getInfo = function(title){ 
    worker.port.postMessage("maggiori_informazioni:" + title);
  }

我运行它传递给变量标题一个值,但我总是得到一个错误。如果标题是&#39;示例&#39;然后JS尝试运行

getInfo = function(example)

我收到错误:

  

参考错误:未定义示例。   如果标题有多个单词:&#39;第一个示例&#39;   然后JS会尝试运行

getInfo = function(first example)

我收到错误:

  参数列表后面的

语法错误:缺失)(寻找parentesys   在&#39; first&#39;)之后。

我在这里想念的是什么? 这段代码是我第一次使用webSockets测试的一部分。如果您想查看完整代码,可以打开此index page并在您看到的第一个提醒中输入值。该值是您将在dashboard page上看到的标题。 尝试点击“更多”错误可以重现该错误。在仪表板中的每个定义的标题之后。 抱歉,网站上有意大利语,但这是用户要求。

4 个答案:

答案 0 :(得分:2)

getInfo引用了您的功能。所以你可以这样叫:

getInfo(value);
  

如果要传递字符串值并且正在传递,请使用引号   你可以简单地传递整数值。

例如:

getInfo("Message Title"); //string
getInfo(3); // Integer 

DEMO

您也可以这样打电话:

getInfo = function(title){ 
    alert("maggiori_informazioni:" + title);
  }("String");

DEMO

<强>更新

您可以使用:

"(<a href='"+getInfo(valore_comando)+";'>" +

答案 1 :(得分:1)

  1. 该功能已分配给getInfo,因此请致电getInfo()
  2. 字符串应附加''
  3. 所以代码应该是

    getInfo('example')
    

答案 2 :(得分:0)

问题是没有定义示例。如果你想用函数调用函数作为输入,它需要单引号或双引号。 "example"'example'

getInfo("example"); // Works as intended

另一种选择是创建一个包含字符串的变量,并将其传递给函数。

var myVariable = "example";
getInfo(myVariable); // Still works, myVariable is a string with value "example"

答案 3 :(得分:0)

你将不得不逃避一些引号。

"(<a href=\"javascript:getInfo('"+ valore_comando +"');\">" +

\属性的引号之前的href字符告诉JavaScript解析器它们是字符串的一部分而不是字符串的开头或结尾。