注释的艺术——JS里直接写HTML,无需转义

2014-12-07 02:41

利用JS的多行注释配合函数的直接量可以做到JS里直接写HTML代码,除 script 的结束标签之外,无需任何的转义符和续行符。

<script type="text/javascript">
//Code By Dron
//Ucren.com
document.write((function (){/*

    <!-- 这里是注释 -->
    <table border="1">
        <tr>
            <td>
                Hello Word!
            </td>
        </tr>
    </table>
    <script type="text/javascript">
        alert("Hello Word!");
    </script>

*/}).toString().replace(/^.+?*|\(?=/)|*.+?$/gi, ""));

</script>

第二种方法


<script type="text/javascript">
//Code By Dron
//Ucren.com
alert(function(){/*

    <!-- 这里是注释 -->
    <table border="1">
        <tr>
            <td>
                Hello Word!
            </td>
        </tr>
    </table>
    <script type="text/javascript">
        alert("Hello Word!");
    </script>

*/}.toString().slice(13, -3));
</script>

^