Javascript你意想不到的功能
成功志
Javascript你意想不到的功能
2014-8-6 ok12
javascript不像python那样可以方便地多行书写字符串,比如python可以这样写字符串:


mStr=""" line1
line2
'line3'
"""



而javascript只能用 + 与拼装起来



mStr="line1"+
"line2"+
"'line3'";



由于习惯了python的这种用法,用起来javascript就特不爽。昨晚下班后回到房间打坐冥思,灵机一动,啊哈!原来javascript也可以方便地进行多行书写。原理是构造一个函数,在函数内



写注释,如







fun=function(){ /* line1
line2
line3
*/ }







然后把这个fun变成字符串,只需简单地和一个空字符串相加即可:



funStr=fun+"";



那么就会得到像下面这样的字符串







"function(){
/*
line1
line2
line3
*/
}
"







然后再写一个函数去提取这个字符串注释里的内容即可。而且不用处理 ' "的转义。



完整代码和示例请看下面:







<html> <head> <meta http-equiv="content-type" content="text/html;charset=gbk"> <script> function $string(fun){ var funStr=fun+""; var reg=/\/\*/img; var r=reg.exec(funStr); var start=null; var stop=null; if(r){
start
=reg.lastIndex;
reg
=/\*\//img;
r
=reg.exec(funStr); if(r){
stop
=reg.lastIndex; return funStr.substring(start,stop-2);
}
}
throw "语法错误..." } var myString=$string( function(){ /* <table>
<tr>
<td>用户名</td><td>密码</td>
</tr>
<tr>
<td style="widht:20px;">@name</td><td>zf123456</td>
</tr>
</table>
*/ }
);
alert(myString);
</script> </head> <body> </body> </html>


发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容