原创--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>

 

 

你可能感兴趣的:(JavaScript)