`
qzriso
  • 浏览: 242471 次
  • 性别: Icon_minigender_1
  • 来自: ph
社区版块
存档分类
最新评论

如何给变量赋一个多行字符串?

阅读更多

在javascript中如何给变量赋一个多行字符串?

我们经常遇到要给一个变量赋一个多行字符串的场景,通常的做法是祭出引号和转义打法,如:

方法1:

var html1 = "<html>\r\n<head>\r\n</head>\r\n<body>\r\n<a href=\"http://www.taoremai.com\">淘热卖</a>\r\n</body>\r\n</html>";

这种方法最大的问题是把很多本来不再同一行的东西写在了同一行,如果内容长乐看起来那是相当不方便。

方法2:

var html2 = "<html>\r\n"
+"<head>\r\n"
+"</head>\r\n"
+"<body>\r\n"
+"<a href=\"http://www.taoremai.com\">淘热卖</a>\r\n"
+"</body>\r\n"
"</html>";

这种方法解决了第一种方法中所说的问题,但多了很多加号和引号。

那有没与其他更好的方法呢?且看:

方法3:

var html3 = "<html>\r\n\
<head>\r\n\
</head>\r\n\
<body>\r\n\
<a href=\"http://www.taoremai.com\">淘热卖</a>\r\n\
</body>\r\n\
</html>";

请大家注意,前面几行后面多了个反斜杠,这个是javascript 本身就支持的。这种写法有些编辑器下着色可能会有问题。

下面再来看几种变态的写法,这两种方法确实方便,不但省了\r\n,连引号转义都省了。但这些毕竟属于”歪门邪道”这两个方法不推荐:

方法4:

Function.prototype.getMultiLine = function() {   
    var lines = new String(this);   
     lines = lines.substring(lines.indexOf("/*") + 3, lines.lastIndexOf("*/"));   
    return lines;   
}   
 
var html4 = function() {   
/*<html>
<head>
</head>
<body>
<a href="http://www.taoremai.com">淘热卖</a>
</body>
</html>*/
}   
 
document.write(html4.getMultiLine());

这个方法将多行文本写成函数的多行注释内,然后,通过解析字符串,将注释里的文本分离出来,这样,整个注释内容可以复制到JS代码中。这个方法只在IE里支持,Firefox下会有问题。

方法5:

var html5 = (<r><![CDATA[
<html>
<head>
</head>
<body>
<a href="http://www.taoremai.com">淘热卖</a>
</body>
</html>
]]></r>).toString();
 
alert(html5);

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

分享到:
评论

相关推荐

    C#基础试题,和常用字符串例子

    7.创建一个int型变量x值为2,然后创建double型变量z,把x的值赋给z,输出z。 使用C#语言创建int型变量x,值为2,然后创建double型变量z,把x的值赋给z,输出结果。 8.C#中的注释有哪三种,分别解释下? C#中的...

    Python变量和字符串详解

    多行字符串''' ``` ##### 字符串拼接 - **字符串加法**:可以使用加号`+`来连接两个字符串。例如,`a = 'hello'; b = 'world'; c = a + b`。 - **字符串重复**:可以使用星号`*`来重复字符串。例如,`d = a * 3` ...

    Python中的变量,数据类型与转换.docx

    字符串类型是不可变类型,可以使用引号来定义多行字符串。 数据类型的转换 在 Python 中,可以使用 str()、int() 和 float() 等函数来进行数据类型的转换。例如,str(123) 将整数 123 转换成字符串 '123'。int('...

    免费的ES6学习思维导图

    模板字符串:通过反引号 ` 来创建字符串,可以在字符串中嵌入表达式,支持多行字符串,使得字符串拼接更加方便。 标签模板:一种高级形式的模板字符串,允许我们在字符串插值之前对其进行处理。 解构赋值: 数组和...

    javascript文档

    赋值运算符 (=) 将一个值赋给变量。 atan 方法 返回一个数的反正切。 atan2 方法 返回从 X 轴到点 (y, x)的角度(以弧度为单位)。 atEnd 方法 返回一个指示枚举算子是否处于集合结束处的 Boolean 值。 big ...

    Python入门教程-包含字符串、变量、运算符、分支语句等基础语法介绍和练习题

    通过这个简单的Python入门教程,你可以开始学习如何使用字符串、变量、运算符和简单的控制流。随着对这些基础知识的掌握,你可以逐步深入到更复杂的编程概念,如列表、元组、字典、函数、类和模块,以及更高级的编程...

    微软JavaScript手册

    赋值运算符 (=) 将一个值赋给变量。 atan 方法 返回一个数的反正切。 atan2 方法 返回从 X 轴到点 (y, x)的角度(以弧度为单位)。 atEnd 方法 返回一个指示枚举算子是否处于集合结束处的 Boolean 值。 big ...

    JScript 语言参考

    赋值运算符 (=) 将一个值赋给变量。 atan 方法 返回一个数的反正切。 atan2 方法 返回从 X 轴到点 (y, x)的角度(以弧度为单位)。 atEnd 方法 返回一个指示枚举算子是否处于集合结束处的 Boolean 值。 big ...

    php中的注释、变量、数组、常量、函数应用介绍

    此外,PHP中还支持heredoc语法用于声明多行字符串。 常量在PHP中一旦定义就不能被修改,使用define()函数定义。常量和变量的主要区别在于常量一旦设置后就不能被重新赋值或销毁,而变量可以随时赋新值,也可以被...

    php经典教程

    在强类型语言中,你需要在使用变量前明确声明其类型,而在PHP中,你可以在任何时候将一个数值赋给一个字符串变量,PHP会自动处理类型转换。 字符串是PHP中用于存储和处理文本的一种数据类型。字符串变量可以存储...

    深入浅出PHP

    - `strpos()`:查找一个字符串在另一个字符串中的位置。如果找到,则返回索引位置;如果没有找到,则返回`false`。 ```php &lt;?php echo strpos("Hello World!", "World"); ?&gt; ``` 这些基础知识为PHP的学习...

    Python程序设计-第二章-Python语言数据类型、运算符和表达式.ppt

    三引号则用于创建多行字符串,其中可以自由使用单引号和双引号。字符串中的转义字符(\)用于特殊字符的表示,如'\n'表示换行,'\t'表示制表符,'\''和'\"'分别表示单引号和双引号自身。自然字符串(r"..."或R"......

    自学Python知识点汇总.pdf

    - Python支持多行字符串的表示,可以使用三个单引号(''')或三个双引号(""")来定义。 3. 基本数据类型: - 内置的基本数据类型包括整型(int)、浮点型(float)、布尔类型(bool)等。 - 整型和浮点型可以...

    2022年度PYTHON知识点汇总整理版.pdf

    多行字符串可以使用三重引号`'''...'''`来定义,这对于注释或包含多行文本的字符串非常有用。当处理中文字符串时,可能会遇到编码问题,为了解决这个问题,可以在文件的第一行添加`# -*- coding: utf-8 -*-`作为编码...

    c语言选择题10.pdf

    150、该程序段以p作为指针遍历字符串,每次打印一个字符直到字符串结束,所以输出结果是多行,每行打印一部分字符串,最后结果是D。 152、这些选项中,选项C(while (*s1++=*s2++) ;)的功能与库函数strcpy不相同,...

    30 个 Python 教程和技巧.docx

    这里,我们将深入探讨几个特别实用且常见的技巧,包括就地交换两个数字、比较运算符的链接、使用三元运算符进行条件赋值、使用多行字符串以及将列表元素存储到新变量中。 ### 技巧1:就地交换两个数字 Python 提供...

    python turorial

    多行字符串可以用三重引号定义。 Python中的序列类型主要包括列表(List)、元组(Tuple)和字符串(String)。列表是可变的,意味着可以修改其中的元素,而元组和字符串是不可变的。理解可变性对于编程是非常重要...

    经典的PHP教程

    这意味着,当请求一个包含PHP代码的网页时,服务器会先解析并执行PHP代码,然后将最终的HTML结果发送给浏览器显示。 #### 2. PHP的基本语法结构 PHP脚本由`&lt;?php`开始标记和`?&gt;`结束标记包围。虽然可以在某些服务器...

    Python变量、数据类型、数据类型转换相关函数用法实例详解

    此外,三引号可以用来创建多行字符串。 Python中还有列表(list)数据类型,它是一个有序的元素集合,可以包含不同类型的元素,并且可以在运行时动态地添加或删除元素。列表用方括号[]包围元素,例如`[元素1, 元素2, ...

    python变量.pdf

    # 一行内给多个变量赋不同值 age4, age5, age6 = 13, 14, 81 print(age4, age5, age6) # 输出:13 14 81 # 定义二进制、八进制、十六进制变量 a1 = 0b110 print(a1) # 输出:6 a2 = 0b11110 print(a2) # 输出:30 ...

Global site tag (gtag.js) - Google Analytics