原创--Javascript你意想不到的功能!!!

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>

 

 

转载于:https://www.cnblogs.com/JiangHuakey/archive/2013/05/27/3101367.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值