JavaScript 空白符(分隔符)
分隔符(空白符)就是各种不可见字符的集合,如空格(\u0020)、水平制表符(\u0009)、垂直制表符(\u000B)、换页符(\u000C)、不中断空白(\u00A0)、字节序标记(\uFEFF)、换行符(\u000A)、 回车符(\u000D)、行分隔符(\u2028)、段分隔符(\u2029)等。
在 JavaScript 中,分隔符不被解析,主要用来分隔各种记号,如标识符、关键字、直接量等信息。
在 JavaScript 脚本中,常用分隔符来格式化代码,以方便阅读。
示例1
对于下面一行代码:
function toStr(a){return a.toString();}
可以使用分隔符格式化显示:
function toStr(a){
return a.toString();
}
一般 JavaScript 编辑器都会提供代码格式化的功能。
分隔符使用时需要注意以下几点:
- 分隔符虽然无实际意义,但是在脚本中却不能缺少。
如果在标识符与关键字之间不使用分隔符分隔,JavaScript 就会抛出异常
示例2
在下面代码中,把关键字 function 与标识符 toStr 连在一起,以及把关键字 return 与 toString 标识符连在一起都是错误的。
functiontoStr(a){returna.toString();} //错误写法
function toStr(a){return a.toString();} //正确写法
- JavaScript 解析器一般采用最长行匹配原则,不恰当地换行显示一句代码,容易引发异常或错误。
示例3
下面代码会返回意外的结果。
function toStr(a){
return
a.toString(); //错误的换行
}
document.write(toStr("abc")); //实际返回 undefined,应该返回"abc"
这是因为 return 作为一条独立语句,JavaScript 解析器可以正确解析它,虽然它后面没有分号,解析器在正确解析的前提下会自动为其补加一个分号,以表示该句已经结束。
这样换行显示的 a.toString();就是下一句待执行的命令,而不是被返回的值。
- 不能在标识符、关键字等内部使用分隔符。
示例4
在下面函数中使用空格把 toString() 分为两部分,JavaScript 会因无法识别而抛出异常。
function toStr(a){
return a.to String(); //错误分隔符
}
- 在字符串或者正则表达式内,分隔符是有意义的,不能够随意省略或替换。
示例5
在下面代码中,变量 a 和 b 被赋予相同的字符串,但是变量 b 中插入了空格,则比较结果是不相等的。
var a = "空格";
var b = "空格 ";
document.write((a==b)); //返回 false,说明不相同
JavaScript 空白符(分隔符)的更多相关文章
- 【总结整理】javascript进阶学习(慕课网)
数组 数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值. 二维数组 二维数组 一维数组,我们看成一组盒子,每个盒子只能放一个内容. 一维数组的表示: ...
- JavaScript进阶(三)之对象
返回星期方法 getDay() 返回星期,返回的是0-6的数字,0 表示星期天.如果要返回相对应“星期”,通过数组完成,代码如下: <script type="text/javascr ...
- Javascript进阶篇——( JavaScript内置对象---下)--Array数组对象---笔记整理
Array 数组对象数组对象是一个对象的集合,里边的对象可以是不同类型的.数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的数组定义的方法: 1. 定义了一个空数组: var ...
- JavaScript高级用法二之内置对象
综述 本篇的主要内容来自慕课网,内置对象,主要内容如下 1 什么是对象 2 Date 日期对象 3 返回/设置年份方法 4 返回星期方法 5 返回/设置时间方法 6 String 字符串对象 7 返回 ...
- JavaScript学习笔记 - 进阶篇(6)- JavaScript内置对象
什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方法: ...
- JavaScript--Array 数组对象
Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的.数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的 数组定义的方法: 1. 定义了一个空数组: v ...
- javascript数字千分分隔符
function thousandBitSeparator(num) { num=num.toFixed(2); return num && num .toString() .repl ...
- JS正则表达式(JavaScript regular expression)
RegExp直接量和对象的创建 就像字符串和数字一样,程序中每个取值相同的原始类型直接量均表示相同的值,这是显而易见的.程序运行时每次遇到对象直接量(初始化表达式)诸如{}和[]的时候都会创建新对象. ...
- JavaScript进阶知识点(慕课)
JavaScript能做什么? 1.增强页面动态效果(如:下拉菜单.图片轮播.信息滚动等) 2.实现页面与用户之间的实时.动态交互(如:用户注册.登陆验证等) 一. 数组 var myarray=n ...
随机推荐
- 中国社交电商最新展望,S-KOL-C正突围而出
编辑 | 韩星 出品 | 于见(mpyujian) 通信技术.移动互联网的快速发展正加速国内电商平台的深度变革. 在这场以"社交"和"下沉市场"为关键词的电商之 ...
- Hive的学习之路(理论篇)
一.Hive介绍 Apache官网给出的logo,一半是Hadoop大象的头,一半是蜜蜂的身体,也是寓意着它是基于Hadoop,哈哈,纯属个人理解,进入正题. Hive是基于Hadoop的一个数据仓库 ...
- Cake ZOJ - 3537
题目链接 本题也是区间dp三角剖分板子题,只不过加入了判断是否是凸包,计算顺序要用凸包顺序(凸包板) #include<bits/stdc++.h> using namespace std ...
- [Write-up]-Trollcave: 1.2
关于 下载地址:点我 Flag:root/flag.txt 哔哩哔哩:视频 信息收集 不知道VM虚拟机怎么啦,导入镜像后,用Nmap扫了,发现不了主机.所以这次用了VBox. vboxnet0的IP为 ...
- Hosts工作原理及作用
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开.其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”.当用户在浏览器中输入一个需要登录的网址时,系统会先检查系自己的Ho ...
- 阿里云linux挂载磁盘
1)使用fdisk -l命令查看主机上的硬盘 2.使用mkfs.ext4命令把硬盘格式化: mkfs.ext4 磁盘名称 如:mkfs.ext4 /dev/vdb/ 3. 使用mount命令 ...
- c++中的运算符重载operator2(翁恺c++公开课[31-33]学习笔记)
上一篇operator1中,大概说了下重载的基本用法,接下来对c++中常见的可重载运算符归一下类,说一下它们的返回值,讨论下较为复杂的运算符重载上的坑
- redhat 7.6 配置repo源
vi /etc/yum.repos.d/base.repo #编辑配置repo配置文件,如果没有则自动创建,没有影响 name=base //源名字,起什么名都没影响 bas ...
- XML简单介绍
什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language). XML 是一种很像HTML的标记语言. XML 的设计宗旨是传输数据,而不是显示数据. XML 标 ...
- pip3与pyttsx3文字语音转换
今天想做个语音读取的小脚本,在网上查了一下发现python里有个pyttsx可以识别文字, 打算通过pip3 install pyttsx安装包,结果报错, 然后试了一下发现不行,去网上查了一下发现p ...