最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在JavaScript里嵌入大量字符串常量的實(shí)現(xiàn)方法

 更新時(shí)間:2013年07月07日 19:25:04   作者:  
在JavaScript文件里嵌入大量字符串常量是經(jīng)常遇到的事。有時(shí)為了省事,就把一些界面的HTML和CSS直接寫(xiě)在JS文件里

數(shù)量少還好,多的話就密密麻麻的一坨文字,講究美觀的文藝青年們,會(huì)用大量的字符連接符號(hào)甚至加上縮進(jìn),強(qiáng)制換成好幾行。例如:

復(fù)制代碼 代碼如下:

var html =
    '<div>' +
        '<p>Hello</p>' +
        '<p>World'</p>' +
    '</div>';

這還好,要是字符串里有不少雙引號(hào)單引號(hào),那就更麻煩了,各種轉(zhuǎn)義字符看的眼花繚亂。

  其實(shí)有個(gè)不怎么起眼的小技巧,就能解決這個(gè)問(wèn)題。大家總認(rèn)為字符串必須在"..."或'...'里面,這點(diǎn)沒(méi)錯(cuò)。但還有一個(gè)地方的字符串也能當(dāng)非代碼語(yǔ)義保存下來(lái),那就是一個(gè)function的toString,把整個(gè)函數(shù)的代碼當(dāng)字符串輸出——其中的注釋部分當(dāng)然也是保留的!

  所以我們寫(xiě)個(gè)空函數(shù),里面就一個(gè)/**/注釋,其中就是我們想要的常量?jī)?nèi)容。toString后加一個(gè)正則就可以提取我們想要的!

  馬上試試:

復(fù)制代碼 代碼如下:

var RES_CODE = _TEXT(function(){/*
    #include <iostream>

    int main()
    {
        std::cout << "Hello world" << std::endl;
        return 0;
    }
*/});

var RES_POEM = _TEXT(function(){/*
  更吹落,星如雨。
  寶馬雕車香滿路。
  鳳簫聲動(dòng),玉壺光轉(zhuǎn),一夜魚(yú)龍舞。
  蛾兒雪柳黃金縷,
  笑語(yǔ)盈盈暗香去。
  眾里尋他千百度,
  驀然回首,那人卻在燈火闌珊處。
*/});

var RES_XML = _TEXT(function(){/*
    <projectDescription>
        <name>Hello</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
            <buildCommand>
                <name>com.adobe.flexbuilder.project.flexbuilder</name>
                <arguments>
                </arguments>
            </buildCommand>
            <buildCommand>
                <name>com.adobe.flexbuilder.project.apollobuilder</name>
                <arguments>
                </arguments>
            </buildCommand>
        </buildSpec>
    </projectDescription>
*/});

function _TEXT(wrap) {
    return wrap.toString().match(/\/\*\s([\s\S]*)\s\*\//)[1];
}
alert(RES_CODE);
alert(RES_POEM);
alert(RES_XML);

OK!就是Chrome里把注釋每行前面的Tab去掉了,如果僅僅是放代碼的話問(wèn)題也不大~ 當(dāng)然有個(gè)前提是字符里不能出現(xiàn)*/

值得注意的是,壓縮代碼的時(shí)會(huì)過(guò)濾注釋,需要手動(dòng)排除一部分。

相關(guān)文章

最新評(píng)論

霍山县| 凭祥市| 偃师市| 滦南县| 随州市| 高淳县| 中牟县| 双柏县| 鄂托克前旗| 灵璧县| 金乡县| 凉山| 弋阳县| 林周县| 苗栗县| 汝城县| 玉田县| 北京市| 阳西县| 内丘县| 碌曲县| 乐都县| 西充县| 绩溪县| 玉龙| 盐亭县| 青岛市| 育儿| 屏山县| 莆田市| 拜泉县| 区。| 镇雄县| 潮安县| 抚顺县| 井研县| 瑞昌市| 怀宁县| 普安县| 舞钢市| 通河县|