javascript没有标准的多行字符串的表示方法,如C#中的

string str=@"多行文本
多行文本";

通常使用的是一行一行的加起来,如:

var str='多行文本'
+'多行文本';

或 使用续行符(\)的方法,如:

var str = "多行文本\
多行文本";

还有一些别的使用字符串join的方动,这里就是详述

这些方法最麻烦的就是行头行尾都有字符,不论从可读性还是可维护性上来说,都是相当的麻烦。

使里介绍一种使用function toString的方法:

个人相对喜欢使用这种方法,虽然这种方法的缺点还是比较明显,就是不能合使JS的组合逻辑,同时容易被压缩工具删除

但优点是相当明显,

例如要在某个element中增加某段HTML代码时

document.body.innerHTML = (function(){/*<div>...</div>*/}).toString().split('/*')[1].split('*/')[0];

在一些通过JS动态加载HTML的时候,特别是当这段HTML比较长时,优势是不可代替的。

再如,可以动态加载上一些CSS

var s = document.createElement("style");
s.innerHTML= (function(){/*body{...}
*/}).toString().split('/*')[1].split('*/')[0];document.head.appendChild(s);

配合上面HTML的输入,在一些界面也不是太复杂的情况下,即可直接布署出一段界面,同时可以使HTML、JS、CSS的代码相对集中在一起,而不是形成三个文件。

要解决上述的JS的组合逻辑缺点,导也不难,简单写一个类似C#中的string.format的函数,也就可以了。

javascript 多行文本 function处理方法 及实践应用相关推荐

  1. 文本分析软件_读书笔记:伍多库卡茨质性文本分析:方法、实践与软件使用指南...

    读书笔记:伍多·库卡茨<质性文本分析:方法.实践与软件使用指南> 一.这篇文章.这本书或这篇论文的中心思想.核心观点是什么?核心观点:质性数据如何系统化分析?三大主要方法:主题分析.评估分 ...

  2. JavaScript JS 如何定义多行文本

    JavaScript JS 如何定义多行文本 JavaScript JS 定义多行文本最优雅的方式 var lines = function () { 你的文本内容开始 asd ccac文本结束}; ...

  3. python文本去重_Python做文本按行去重的实现方法

    文本: 每行在promotion后面包含一些数字,如果这些数字是相同的,则认为是相同的行,对于相同的行,只保留一行. 思路: 根据字典和字符串切割. 建立一个空字典. 读入文本,并对每行切割前半部分, ...

  4. javascript中最最最常用的方法封装

    javascript 常用方法的封装,小编持续升级中... 方法封装(js原生): 一.Object 类型 MHQ.ajaxUtils 定义一个ajax工具类 ajax 定义一个ajax工具函数 ge ...

  5. jqGrid行编辑配置,方法,事件

    目录 软件要求和安装 方法 editRow:编辑行 saveRow:保存行 restoreRow:还原数据行 addRow:添加新数据行 inlineNav:给行编辑添加导航操作按钮 注意事项 数据如 ...

  6. 表单开发(二):获取单选按钮,多行文本框,下拉菜单,捆绑元素数据,用户注册

    单选按钮:<input type="radio"> 多行文本框:<textarea rows="5" cols="30"& ...

  7. Javascript学习之函数(function)

    http://www.cnblogs.com/royalroads/p/4418587.html 在JS中,Function(函数)类型实际上是对象;每个函数都是Function类型的实例,而且都与其 ...

  8. 什么是在JavaScript中扩展错误的好方法?

    本文翻译自:What's a good way to extend Error in JavaScript? I want to throw some things in my JS code and ...

  9. 双击 文字 出现 文本框 的方法

    今天分享一个双击 "文字" 出现 "文本框"  的方法,虽然在实际的应用中并没有什么特别有用的功能,喜欢的话就看看吧! <!DOCTYPE html> ...

最新文章

  1. 操作无法完成.键入的打印机名不正确,或者指定的打印机没有连接到服务器上.有关详细信息,请单帮助...
  2. 与孩子一起学编程 python_【和孩子一起学编程】 python笔记--第五天
  3. spring 源码_spring源码系列(一)——spring循环引用
  4. php tinyme_黄聪:TinyMCE 4 增强 添加样式、按钮、字体、下拉菜单和弹出式窗口
  5. 鼠标右击 左击 等总结
  6. Python-memcached的基本使用 - Flynewton成长点滴 - 开源中国社区
  7. U-Mail邮件服务系统任意文件上传+执行漏洞(runtime缺陷与验证绕过)
  8. c语言cgi函数库,cgic: 为C语言编写CGI的C函数库
  9. python字符串类型图解_Python基础——数据类型(图解+实例,非常详细!)
  10. 题库:queryset数据类型的特性
  11. MySQL之级联删除、级联更新、级联置空
  12. Linux下启动、停止J2SE程序(脚本)
  13. php redis hgetall 慢,redis的hGetAll函数的性能问题(记Redis那坑人的HGETALL)
  14. ArcMap 如何使用.gdb文件发布服务
  15. Xcode12 兼容iOS14 及下载链接
  16. gradlew.bat命令一直下载downloading github项目无法运行gradle
  17. 阿里云的服务器居然泡在“水”里?| 数据中心参观有感
  18. NVIDIA GeFprce GTX 1080 Ti NVIDIA图形驱动程序版本466.77下载和安装
  19. [luogu P4230]连环病原体
  20. 如何听节拍器_七个方法可以拯救你的节奏感!

热门文章

  1. Python编程实例03——对英文文本进行分词
  2. 殇城的伤感心情日志分享:青春容颜,我却一笔流伤
  3. 敏捷转型行动笔记:敏捷导入课程培训
  4. 转置卷积详解(原理+实验)
  5. 自学编程应该从哪里开始?
  6. 智能呼叫系统之客户互动中心
  7. 年薪翻倍的100篇面经:如何转型AI拿到阿里等大厂的40万offer
  8. 程序员接私活的6个网站,你有技术就有钱!
  9. 我的留英日记[转载]
  10. 查询student表中姓童的学生情况