注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

JavaScript支持多行字符串  

2014-03-24 14:27:35|  分类: Javascript |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
作为一个JavaScript程序员,很是羡慕Ruby,Groovy等语言支持多行字符串。
幸运的是, multiline(github: https://github.com/sindresorhus/multiline) 提供了这样的支持,从此妈妈再也不用担心我写长字符串了。
例如:
使用之前

var html = ""+

"<div>" +

" <ul>" +

" <li>Java</li>" +

" <li>JavaScript</li>+

" </ul>" +

"</div>";

使用之后

var html = multiline(function(){/*
<div>
<ul>
<li>Java</li>

<li>JavaScript</li>  

</ul>
</div>
*/});

multiline通过匿名函数参数中放入注释的方式, 再对函数进行toString(),通过正则拿到完整的字符串,非常的惊奇。虽然它只是一个Hack,如果将它和dojo string的substitute方法结合我们就可以快速生成想要的可变化的字符串
JavaScript支持多行字符串 - 星期五 - 星期五

扩展dojo/string:
define([
"dojo/string"
], function(string){

// module:
// utils/string
// just add method for dojo/string module
// multiline form https://github.com/sindresorhus/multiline
// multiline is very useful for us, it use MIT licenses.
var reCommentContents = /\/\*!?(?:\@preserve)?\s*(?:\r\n|\n)([\s\S]*?)(?:\r\n|\n)\s*\*\//;

var multiline = function (fn) {
if (typeof fn !== 'function') {
throw new TypeError('Expected a function.');
}

var match = reCommentContents.exec(fn.toString());

if (!match) {
throw new TypeError('Multiline comment missing.');
}

return match[1];
};
string.multiline = multiline;

return string;
});
参考资料:
https://github.com/sindresorhus/multiline
http://dailyjs.com/2014/03/13/multiline/
  评论这张
 
阅读(603)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017