Javascript中给变量赋多行字符串的方法

  今天在缩减新浪HTML编辑器时看到了一段代码,可以一次性给变量赋值多行文本,而不使用连接符号+,但是转义字符还得注意转义一下。看来自己的javascript还是没学到家,有这种用法自己不知道,嘎嘎~~

  要赋值的多行文本如下
这个是一行
第二行
第三行


  脚本如下
+展开
-JavaScript
var str='这个是一行\
第二行\
第三行\
';
alert(str)


  下面是在网上找的另外2中办法
方法一(支持Firefox)
这个方法的原理是生成一个XML节点。因为XML可以使用CDATA来生成多行文本。然后,再将这个节点转换成字符串,就可以得到一个多行文本了。不过这个方法只在支持E4X的浏览器上有效。经过测试,Firefox3.0支持,IE7.0不支持。

代码如下:
+展开
-JavaScript
var str = (<r><![CDATA[
Line1
Line2Line2
Line3
]]></r>).toString();

alert(str);



方法二(支持IE)
这个方法相当有创意,是网络上某个高人的杰作。
方法的原理是将多行文本写在一个函数体的多行注释内,然后,通过字符串解析函数,将多行文本分离出来,这样,整个文件内容也可以原封不动的复制到JS代码中。不过这个方法只在IE里支持,Firefox会将注释代码从函数体中移除。
+展开
-JavaScript
Function.prototype.getMultiline = function() 

    var lines = new String(this);  
    lines = lines.substring(lines.indexOf("/*\r\n") + 4, lines.lastIndexOf("*/"));  
    return lines; 
}   
var str = function() {  
/*
Line1
Line2Line2
Line3
*/

}.getMultiline();

alert(str);

加支付宝好友偷能量挖...


原创文章,转载请注明出处:Javascript中给变量赋多行字符串的方法

评论(0)Web开发网
阅读(485)喜欢(0)JavaScript/Ajax开发技巧