=波波日志 > JavaScript/Ajax > Javascript中给变量赋多行字符串的方法=

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/Ajax 作者:波波 日期:2010-06-23 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012WEB编程网桂ICP备05005887号 京公网安备1101055090