首页 > JavaScript
阅读:255
JavaScript空白符(分隔符)
分隔符(空白符)就是各种不可见字符的集合,如空格(\u0020)、水平制表符(\u0009)、垂直制表符(\u000B)、换页符(\u000C)、不中断空白(\u00A0)、字节序标记(\uFEFF)、换行符(\u000A)、 回车符(\u000D)、行分隔符(\u2028)、段分隔符(\u2029)等。
在 JavaScript 中,分隔符不被解析,主要用来分隔各种记号,如标识符、关键字、直接量等信息。 在 JavaScript 脚本中,常用分隔符来格式化代码,以方便阅读。
可以使用分隔符格式化显示:
一般 JavaScript 编辑器都会提供代码格式化的功能。
分隔符使用时需要注意以下几点:
1) 分隔符虽然无实际意义,但是在脚本中却不能缺少。如果在标识符与关键字之间不使用分隔符分隔,JavaScript 就会抛出异常。
2) JavaScript 解析器一般采用最长行匹配原则,不恰当地换行显示一句代码,容易引发异常或错误。
这是因为 return 作为一条独立语句,JavaScript 解析器可以正确解析它,虽然它后面没有分号,解析器在正确解析的前提下会自动为其补加一个分号,以表示该句已经结束。这样换行显示的 a.toString();就是下一句待执行的命令,而不是被返回的值。
3) 不能在标识符、关键字等内部使用分隔符。
4) 在字符串或者正则表达式内,分隔符是有意义的,不能够随意省略或替换。
在 JavaScript 中,分隔符不被解析,主要用来分隔各种记号,如标识符、关键字、直接量等信息。 在 JavaScript 脚本中,常用分隔符来格式化代码,以方便阅读。
示例1
对于下面一行代码:function toStr(a){return a.toString();}
可以使用分隔符格式化显示:
function toStr(a){ return a.toString(); }
一般 JavaScript 编辑器都会提供代码格式化的功能。
分隔符使用时需要注意以下几点:
1) 分隔符虽然无实际意义,但是在脚本中却不能缺少。如果在标识符与关键字之间不使用分隔符分隔,JavaScript 就会抛出异常。
示例2
在下面代码中,把关键字 function 与标识符 toStr 连在一起,以及把关键字 return 与 toString 标识符连在一起都是错误的。functiontoStr(a){returna.toString();} //错误写法 function toStr(a){return a.toString();} //正确写法
2) JavaScript 解析器一般采用最长行匹配原则,不恰当地换行显示一句代码,容易引发异常或错误。
示例3
下面代码会返回意外的结果。function toStr(a){ return a.toString(); //错误的换行 } document.write(toStr("abc")); //实际返回 undefined,应该返回"abc"
这是因为 return 作为一条独立语句,JavaScript 解析器可以正确解析它,虽然它后面没有分号,解析器在正确解析的前提下会自动为其补加一个分号,以表示该句已经结束。这样换行显示的 a.toString();就是下一句待执行的命令,而不是被返回的值。
3) 不能在标识符、关键字等内部使用分隔符。
示例4
在下面函数中使用空格把 toString() 分为两部分,JavaScript 会因无法识别而抛出异常。function toStr(a){ return a.to String(); //错误分隔符 }
4) 在字符串或者正则表达式内,分隔符是有意义的,不能够随意省略或替换。
示例5
在下面代码中,变量 a 和 b 被赋予相同的字符串,但是变量 b 中插入了空格,则比较结果是不相等的。var a = "空格"; var b = "空格 "; document.write((a==b)); //返回 false,说明不相同
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频