函数中的Javascript字符串参数

时间:2012-07-05 20:08:26

标签: javascript

我正在使用谷歌地图api,我希望标记的标签有一个执行警告的链接。

var str = "hi";
var mp_position = createGoogleMapsLocation(data[i].location);
var text = "<p>Edit: <a href=# onClick='edit("+str+")'>Click here</a></p>";
addMeetingMarker(mp_position, text);

addMeetingMarker功能有效,但编辑功能无效。代码是:

function edit(message) {
    alert(message);
}

如果在编辑函数的参数中设置了一个整数,它可以工作,但传递变量str不起作用。为什么呢?

3 个答案:

答案 0 :(得分:6)

您需要更多双引号来包围您的值字符串 - 所以:

var text = "<p>Edit: <a href=# onClick='edit("+str+")'>Click here</a></p>";

变为

var text = "<p>Edit: <a href=# onClick='edit(\""+str+"\")'>Click here</a></p>";

答案 1 :(得分:1)

edit("+str+")

将导致javascript代码

edit(hi)

hi是未知变量。根据您希望edit函数执行的操作,可以添加引号:edit\""+str+"\"),也可以删除加号:edit(str)。在最后一种情况下,编辑功能将接收str变量,在第一种情况下,它将接收“hi”文字。

答案 2 :(得分:0)

您错过了使str成为引用字符串所需的双引号。