首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在heredoc javascript中添加单引号?

如何在heredoc javascript中添加单引号?
EN

Stack Overflow用户
提问于 2013-11-12 16:53:57
回答 1查看 159关注 0票数 0

我有这个文档代码:

代码语言:javascript
复制
$col_formatter = <<<COLFORMATTER
function(cellvalue, options, rowObject){
    var tracking = rowObject[5];
    var Tes = tracking;

    return '<input type="button" value="Open" onclick="btnOpen('+tracking+')">';
}
COLFORMATTER;

但是我似乎不能将跟踪变量传递给btnOpen js函数。

例如,跟踪的值是“Marsha.”。当我用Mozilla Firebug测试它时,它告诉我:

代码语言:javascript
复制
ReferenceError: Marsha is not defined
btnOpen(Marsha)

我在想,当我传递它的时候,我必须放入一个单引号,这样玛莎就会被读取为一个字符串,而不是变量。我知道如何引用的一件事是在它前面加一个反斜杠(\'):

代码语言:javascript
复制
return '<input type="button" value="Open" onclick="btnOpen(\''+tracking+'\')">';

但这也不起作用。上面写着:

代码语言:javascript
复制
SyntaxError: missing ; before statement
...e=\"Open\" onclick=\"btnOpen(\\''+tracking+'\\')\">';}},{"name":"status"...

为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2013-11-12 17:43:20

反斜杠是一种escape character,用于表示具有特殊含义的序列,或者相反地(在您的示例中)表示字符上的string-literal,否则这些字符将被解释为语言结构的一部分。

转义在许多语言中都很常见,你必须记住你是通过一个(看起来像) PHP脚本构造一个javascript表达式--字符在这两种语言中都有意义。

所以..。如果您希望在字符串中打印文字\,则还必须对其进行转义:

代码语言:javascript
复制
... onclick="btnOpen(\\''+tracking+'\\')" ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19924729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档