首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript heredoc

Javascript heredoc
EN

Stack Overflow用户
提问于 2010-12-07 20:12:31
回答 14查看 66.6K关注 0票数 117

我需要在JavaScript中使用类似heredoc的代码。你对此有什么想法吗?我需要跨浏览器的功能。

我发现了这个:

代码语言:javascript
复制
heredoc = '\
<div>\
    <ul>\
        <li><a href="#zzz">zzz</a></li>\
    </ul>\
</div>';

我想这对我来说是可行的。:)

EN

回答 14

Stack Overflow用户

发布于 2015-01-10 18:25:00

尝试使用ES6 String Template,您可以这样做

代码语言:javascript
复制
var hereDoc = `
This
is
a
Multiple
Line
String
`.trim()


hereDoc == 'This\nis\na\nMultiple\nLine\nString'

=> true

即使在使用TypeScript的旧浏览器中,您也可以使用这个伟大的特性

票数 92
EN

Stack Overflow用户

发布于 2010-12-07 20:16:15

不,不幸的是,JavaScript不支持任何像heredoc这样的东西。

票数 65
EN

Stack Overflow用户

发布于 2013-01-20 00:19:08

这样如何:

代码语言:javascript
复制
function MyHereDoc(){
/*HERE
<div>
   <p>
      This is written in the HEREDOC, notice the multilines :D.
   </p>
   <p>
      HERE
   </p>
   <p>
      And Here
   </p>
</div>
HERE*/
    var here = "HERE";
    var reobj = new RegExp("/\\*"+here+"\\n[\\s\\S]*?\\n"+here+"\\*/", "m");
    str = reobj.exec(MyHereDoc).toString();
    str = str.replace(new RegExp("/\\*"+here+"\\n",'m'),'').toString();
    return str.replace(new RegExp("\\n"+here+"\\*/",'m'),'').toString();
}

//Usage 
document.write(MyHereDoc());

只需将"/*HERE“和"HERE*/”替换为您选择的单词。

票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4376431

复制
相关文章

相似问题

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