博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在JavaScript里嵌入大量字符串常量的方法
阅读量:6029 次
发布时间:2019-06-20

本文共 1412 字,大约阅读时间需要 4 分钟。

    在JavaScript文件里嵌入大量字符串常量是经常遇到的事。有时为了省事,就把一些界面的HTML和CSS直接写在JS文件里。数量少还好,多的话就密密麻麻的一坨文字,讲究美观的文艺青年们,会用大量的字符连接符号甚至加上缩进,强制换成好几行。例如:

var html =    '
' + '

Hello

' + '

World'

' + '
';

  这还好,要是字符串里有不少双引号单引号,那就更麻烦了,各种转义字符看的眼花缭乱。

  其实有个不怎么起眼的小技巧,就能解决这个问题。大家总认为字符串必须在"..."或'...'里面,这点没错。但还有一个地方的字符串也能当非代码语义保存下来,那就是一个function的toString,把整个函数的代码当字符串输出——其中的注释部分当然也是保留的!

  所以我们写个空函数,里面就一个/**/注释,其中就是我们想要的常量内容。toString后加一个正则就可以提取我们想要的!

  马上试试:

var RES_CODE = _TEXT(function(){
/* #include
int main() { std::cout << "Hello world" << std::endl; return 0; }*/});var RES_POEM = _TEXT(function(){
/*  更吹落,星如雨。  宝马雕车香满路。  凤箫声动,玉壶光转,一夜鱼龙舞。  蛾儿雪柳黄金缕,  笑语盈盈暗香去。   众里寻他千百度,   蓦然回首,那人却在灯火阑珊处。*/});var RES_XML = _TEXT(function(){
/*
Hello
com.adobe.flexbuilder.project.flexbuilder
com.adobe.flexbuilder.project.apollobuilder
*/});function _TEXT(wrap) { return wrap.toString().match(/\/\*\s([\s\S]*)\s\*\//)[1];}alert(RES_CODE);alert(RES_POEM);alert(RES_XML);

 

转载地址:http://chbhx.baihongyu.com/

你可能感兴趣的文章
SQL Server 触发器
查看>>
[翻译] GiFHUD
查看>>
ASP.NET批量下载文件
查看>>
宝宝头三年至关重要,不看悔掉肠子
查看>>
必须知道的SQL编写技巧,多条件查询不拼字符串的写法
查看>>
Mysql高级之权限检查原理
查看>>
关于PCB 3D 模型的快速导入方法
查看>>
FreeSWITCH在呼叫失败的情况下播放语音提示
查看>>
Mac 与 PC 键盘布局对比
查看>>
使用SQL Server Audit记录数据库变更
查看>>
怎样区分直连串口线和交叉串口线?
查看>>
【翻译】西川善司的「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,后篇...
查看>>
仿小米便签图文混排 EditText解决尾部插入文字bug
查看>>
DB2数据库用 With语句分隔字符
查看>>
oracle rac 日志体系结构!
查看>>
数据结构试题
查看>>
Java反射机制剖析(二)-功能以及举例
查看>>
关于微信中的数据库
查看>>
带KEY的SCP命令,老是要查,这次写在这里吧,
查看>>
BitNami一键安装Redmine
查看>>