SyntaxError:javascript中未终止的字符串文字错误

SyntaxError:javascript中未终止的字符串文字错误,javascript,string,string-literals,Javascript,String,String Literals,当从java向javascript函数传递字符串参数时,如果参数中包含空格,则会中断 String str = "This is test"; sb.append("<a href=javascript:testFunction(\""+str+"\";>test</a>"); String str=“这是测试”; 某人加上(“”); 单击此超链接时,会出现以下错误: SyntaxError:unterminated string literal在我看来,您有两个问题

当从java向javascript函数传递字符串参数时,如果参数中包含空格,则会中断

String str = "This is test";
sb.append("<a href=javascript:testFunction(\""+str+"\";>test</a>");
String str=“这是测试”;
某人加上(“”);
单击此超链接时,会出现以下错误:
SyntaxError:unterminated string literal

在我看来,您有两个问题:

1-您的
href
的值没有用引号括起来

2-您的函数不是以
终止的

String strTest=“这是测试”;
String str=String.Format(“,strTest);
某人附加(str);
不能在没有分隔符的HTML属性值中使用
字符,并且缺少

您可以添加缺少的位:

sb.append("<a href='javascript:testFunction(\""+str+"\");'>test</a>");

您的问题是什么?当我将str作为参数传递给javascript函数时,当我单击超链接时,它会给出错误,因为str中包含空格。我应该如何解决这个问题?有什么建议吗?生成的字符串确实包含引号。这就是所有转义的“字符的用途。@Quentin正确,没有注意到。谢谢,谢谢。某人加上(“”);工作
sb.append("<a href='javascript:testFunction(\""+str+"\");'>test</a>");
var button = document.createElement('button');
button.type = "button";
button.appendChild(
    document.createTextNode('test')
);
button.addEventListener('click', function (event) {
    testFunction(str);
});
ab.append(button); // Assuming that whatever `ab.append` is accepts a DOM element