下面来精炼的总结一下JavaScript的词法结构:
 
  1.JavaScript程序是用Unicode字符集编写的。
 
  2.JavaScript区分大小写。这里不必多说。

3.JavaScript会忽略程序中记号之间的空格、制表符和换行符。就换行符而言,这里需要特别注意的是,在两个记号之间加入换行符时,以至于使换行符之前的一行成了一个完整的语句,JavaScript会自动插入分号,这就改变了你的初衷。例如,你初衷是:

return true;

在两个记号之间插入换行符后:

return
  true;

但是,JavaScript会假定你的意图:

return;
  true;

这点需要特别注意,虽然这种代码并不会产生语法错误,但是却会因为产生一种不明确的状态而导致错误。如果按如下那样编写代码就会发生同样的问题:

break
  outerloop;
 
  JavaScript会在关键字break之后插入一个分号,当它解释下一行代码时,就会引起语法错误。此外,后缀运算符++和--也应该要和它们所作用的表达式处于同一行中,以避免发生上述问题。

3.JavaScript注释问题。单行文本作为注释时,在其文本前加上“//”即可。如:

// This is a single-line comment.

此外,“/*”和“*/”之间的文本也会被当作注释,这些注释可以跨越多行,但其中不能有嵌套的注释。

/* This is also a comment */
  /*
   * This is yet another comment.
   * It has multiple lines.
   */

4.直接量。所谓直接量,就是程序中直接显示出来的数据值。这里不必多说。

5.标识符。所谓标识符,其实就是一个名字。在JavaScript中,标识符用来命名某些变量和函数,或者用作JavaScript代码中某些循环的标签。其命名规则为:第一个字符必须是字母、下划线(_)或美元符号($)合法的标识符如下:

i
  my_variable_name
  v13
  _dummy
  $str

最后,标识符不能和JavaScript中用于其他用途的关键字同名。

注1:Unicode(统一码、万国码、单一码)是一种在计算机上使用的16位的编码。它为每一种语言中的每一个字符设定了统一的并且唯一的二进制编码,以满 足跨语言、跨平台进行文本转换、处理的要求。所以与7位的ASCII编码(只适用于英语)和8位的ISO Latin-1编码(只适用于英语和西欧语言)不同,它可以表示地球上通用的每一种书面语言。且ASCII编码和ISO Latin-1编码都是Unicode编码的子集。

注2:注意,在JavaScript 1.1以前,美元符号还不是合法的标识符。它们只会由代码生成工具专门使用,因此,在编写代码时,应尽量避免使用。) 接下来的数字可以是字母、数字、下划线或美元符号(数字不允许作为首字母出现,这样JavaScript可以轻易地区别开标识符数字了。

转载于:https://blog.51cto.com/louhongwei/700816

核心JavaScript——词法结构相关推荐

  1. 犀牛书第2章 JavaScript词法结构

    程序设计语言的词法结构是一套基本规则,用来详细说明如何使用这种语言来编写程序.它是一种语言的最低层次的语法,指定了变量名是什么样的,注释应该使用什么字符以及语句之间如何分隔等规则. 1. 字符集: J ...

  2. JavaScript权威设计--JavaScript词法结构(简要学习笔记二)

    1.字符集 JavaScript是用Unicode字符集编写的 2.区分大小写 html不区分大小写,xhtml区分大小写 如:html中onclick可以写成Onclick 但是js中必须写成onc ...

  3. javascript基础语法——词法结构

    前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javasc ...

  4. 笔记《JavaScript 权威指南》(第6版) 分条知识点概要1—词法结构

    [词法结构]字符集.注释.直接量.标识符和保留字.可选的分号 [字符集] JavaScript程序是用Unicode字符集编写的. Unicode是ASCII和Latin-1的超集,支持地球上几乎所有 ...

  5. JavaScript犀牛书-第二章-词法结构

    词法结构:基础性规则,描述如何用这个语言编写程序. 1.字符集 JavaScript程序是由Unicode字符集所编写,Unicode支持地球上几乎所有在用的语言,ECMAScript3要求支持Uni ...

  6. JavaScript词法作用域的简单介绍

    by Michael McMillan 迈克尔·麦克米兰(Michael McMillan) JavaScript词法作用域的简单介绍 (An easy intro to Lexical Scopin ...

  7. JavaScript循环结构(1)

    JavaScript循环结构语法和java和c#差不多,可以参考c#和java笔记复习

  8. JavaScript队列结构——击鼓传花游戏

    JavaScript队列结构--击鼓传花游戏 //队列类 function Queue(){this.items = []//将元素添加到队列中Queue.prototype.enqueue = fu ...

  9. 数据分析---三种数据分析核心思维:结构化、公式化、业务化

    数据分析有三种核心思维:结构化.公式化.业务化 背景: 有个线下销售的产品,发现8月的销售额度下载了.怎么分析这一现象? 混乱的思路: 和去年同比下降了20%,不知道是突然暴跌还是逐渐下降. 再按照不 ...

  10. 《Java SE实战指南》05:词法结构(Lexical Structure)

    同步视频(建议用1.5倍速观看效果更好) 05:词法结构(Lexical Structure) 05-01:词法结构概述 05-02:关键字(Keywords) 05-03:标识符(Identifie ...

最新文章

  1. 软件公司应该砍掉的成本
  2. 【shiro】使用shiro搭建的项目,页面引用js,报错:Uncaught SyntaxError: Unexpected token ...
  3. html5手机页面的那些meta
  4. oracle日期导出mysql_oracle的数据导入到mysql中,遇到一个时间转换问题
  5. 邻接表建立图(c语言)
  6. MFC 添加文件路径 遍历文件
  7. android 聊天功能实现,Android聊天背景功能实现
  8. 算法题——投篮比赛获胜的概率
  9. 关于防止sql注入的几种手段
  10. [算法题] 安排会议室——贪心算法的应用
  11. 网易云音乐直链提取及下载
  12. android 颜色抓取工具,颜色抓取(Color Grab)
  13. Unity 抗锯齿方案梳理
  14. 安装oracle提示你对制定的路径没有足够写入的权限,【网络安全知识竞赛】模拟题5...
  15. Mac idea破解到2100年
  16. Excel-一元线性回归和多元线性回归(借助数据分析功能和直接计算)
  17. [法国][无法触碰/触不可及][BD-RMVB.720p.中字][2011最新/法国票房冠军]
  18. 呵呵,GET2017教育科技大会VIP门票,你要不要啊?
  19. 直播和短视频的区别以及直播能带来什么效果?
  20. 环境搭建--谷粒商城笔记一

热门文章

  1. python os.access_Python用access判断文件是否被占用的实例方法
  2. java打包----“Artifacts”
  3. java案例代码6-评委打分的模拟程序
  4. golang中字符串常用的命令
  5. SQL已知现在的某一天求去年的同一天或去年同月份的第一天
  6. win7 mac虚拟机linux,Mac虚拟机parallels desktop超详细安装Win7图文分解
  7. jmeter性能测试实战_Jmeter接口测试实战篇:10分钟学会Jmeter的用法
  8. 西门子step7安装注册表删除_不用重装系统就能完全卸载西门子PLC编程软件STEP 7...
  9. mysql 判断大小_《fantasy系列》高性能mysql(一)
  10. antdesign 所兼容的浏览器_React爬坑之路——Antd兼容IE