函数中的 Javascript 字符串参数

Javascript string parameter in function

本文关键字:字符串 参数 Javascript 函数      更新时间:2023-09-26

我正在使用谷歌地图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 不起作用。为什么?

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

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>";
edit("+str+")

将产生 JavaScript 代码

edit(hi)

其中hi是一个未知变量。 根据您希望 edit 函数执行的操作,添加引号:edit'""+str+"'") ,或删除加号:edit(str) 。 在最后一种情况下,编辑函数将接收str变量,在第一种情况下,它将接收"hi"文字。

您缺少使str成为带引号的字符串所需的双引号。