建议2:正确辨析JavaScript句法中的词、句和段
JavaScript语法包含了合法的JavaScript代码的所有规则和特征,它主要分为词法和句法。词法包括字符编码、名词规则、特殊词规则等。词法侧重语言的底层实现(如语言编码问题等),以及基本规则的定义(如标识符、关键字、注释等)。它们都不是最小的语义单位,却是构成语义单位的组成要素。例如,规范字符编码集合、命名规则、标识符、关键字、注释规则、特殊字符用法等。
句法定义了语言的逻辑和结构,包括词、句和段的语法特性,其中段体现逻辑的结构,句表达可执行的命令,词演绎逻辑的精髓。
段落使用完整的结构封装独立的逻辑。在JavaScript程序中,常用大括号来划分结构,大括号拥有封装代码和逻辑的功能,由此形成一个独立的段落结构。例如,下面这些结构都可以形成独立的段落。

  1. {
  2. // 对象
  3. }
  4. function (){
  5. // 函数
  6. }
  7. if (){
  8. // 条件
  9. }
  10. for (){
  11. // 循环
  12. }
    段落结构包含的内容可以是一条或多条语句。可以在段落起始标记({)前面添加修饰词,如域谓词(with、catch)、逻辑谓词(if、while、for)等。

语句是由多个词构成的完整逻辑。在JavaScript中,常用分号(;)来划分语句,有时也可以省略分号,默认使用换行符表示完整的语句。
一条语句可以包含一个或多个词。例如,在下面两条语句中,第一条语句只有一个词,这是一个指令词,该指令只能位于循环体或switch结构体内。第二条语句包含3个词,alert表示函数名(即变量),小括号表示运算符,而“"提示信息"”表示字符串直接量。

  1. break;
  2. alert("提示信息");
    一条语句也可以包含一个或多个段落。例如,在下面这条语句中,直接把一个函数当做一个变量进行调用。
  3. (function(i){
  4. alert(i);
  5. })("提示信息");
    还可以把函数包含在一个闭包中形成多个结构嵌套,这个嵌套结构体就构成了一个复杂的语句,例如:
  6. (function(i){
  7. return function(){
  8. alert(i);
  9. };
  10. })("提示信息")();
    语句一般至少包含一个词或段落,但是语句也可以什么都不包含,仅由一个分号进行标识,这样的句子称为空语句。空语句常用做占位符。例如,在下面这个循环体内就包含了一个空语句。
  11. for(var i; i<100;i++){
  12. ;
  13. }
    词语是JavaScript句法结构中的最小语义单位,包括指令(或称语句)、变量、直接量(或常量)、运算符等。在JavaScript中,词语之间必须使用分隔符进行分隔,否则JavaScript就会错误解析。下面的代码块是一个简单的求两个数平均值的方法。
  14. var a = 34;
  15. var b = 56;
  16. function aver(c,d){
  17. return (c+d)/2;
  18. }
  19. alert(aver(a,b));
    其中var、function、return是指令,这些指令也是JavaScript默认的关键字;a、b、c、d、aver、alert为变量;34、56是数值直接量;=、(、)、{、}、/、+、,是运算符。

JS编程建议——2:正确辨析JavaScript句法中的词、句和段相关推荐

  1. JS编程建议——7:小心保留字的误用

    建议7:小心保留字的误用 JavaScript语言中定义了很多备用或已经使用的保留字,按首字母顺序列出的保留字. 这些单词中的大多数并没有在语言中使用,但是根据JavaScript语法规则,这些单词是 ...

  2. Java 并发编程解析 | 如何正确理解Java领域中的多线程模型,主要用来解决什么问题?

    苍穹之边,浩瀚之挚,眰恦之美: 悟心悟性,善始善终,惟善惟道! -- 朝槿<朝槿兮年说> 写在开头 我国宋代禅宗大师青原行思在<三重境界>中有这样一句话:" 参禅之初 ...

  3. JS编程建议——8:谨慎使用运算符(3)

    建议8:谨慎使用运算符(3) 要确保变量a的值为连续运算,可以使用小括号逻辑分隔符强迫4个数值先进行连续运算,然后再赋值. a = (1, 2, 3, 4); alert(a); //4 当使用var ...

  4. JS编程建议——37:推荐使用replace(1)

    建议37:推荐使用replace(1) String对象的replace方法包含两个参数,第一个参数表示执行匹配的正则表达式,也可以传递字符串,第二个参数表示准备代替匹配的子字符串,例如,把字符串ht ...

  5. JS编程建议——42:用好正则表达式静态值

    建议42:用好正则表达式静态值 正则表达式的静态属性比较特殊,有两个名字:长名(全称)和短名(简称,以美元符号开头表示),详细说明见表2.1. 表2.1 RegExp的静态属性 长名 短名 说明 in ...

  6. JS编程建议——52:建议使用splice删除数组

    建议52:建议使用splice删除数组 删除数组元素的方法有多种,最简单的方法是利用length属性来截断数组,但这种方法比较笨拙,仅能够截断尾部元素.在JavaScript中,由于数组其实就是对象, ...

  7. JS编程建议——32:使用制表

    建议32:使用制表 代码所做的事情越少,它的运行速度就越快,因此,避免重复工作很有意义.多次执行相同的任务也在浪费时间.制表法通过缓存先前计算结果为后续计算所使用,避免了重复工作,这使得制表成为递归算 ...

  8. Java 并发编程解析 | 如何正确理解Java领域中的内存模型,主要是解决了什么问题?

    写在开头 这些年,随着CPU.内存.I/O 设备都在不断迭代,不断朝着更快的方向努力.在这个快速发展的过程中,有一个核心矛盾一直存在,就是这三者的速度差异.CPU 和内存的速度差异可以形象地描述为:C ...

  9. Java 并发编程解析 | 如何正确理解Java领域中的锁机制,我们一般需要掌握哪些理论知识?

    苍穹之边,浩瀚之挚,眰恦之美: 悟心悟性,善始善终,惟善惟道! -- 朝槿<朝槿兮年说> 写在开头 提起Java领域中的锁,是否有种"道不尽红尘奢恋,诉不完人间恩怨"的 ...

最新文章

  1. 运维-系统架构师经验总结:
  2. Android Treble 计划技术文档
  3. 【学习笔记】《Go 指南》
  4. python的常用语句_python常用语句
  5. 09年最值得期待7大IT收购:思科收购VMware
  6. gnome 3.4 评测
  7. 【官方方法】ROS源
  8. Atitit  发帖机实现(1)-----UsrQBm2008 页面上下文规范
  9. 【重拾FPGA】三段式状态机的路口红绿灯
  10. java webp 图片处理_Java处理Webp图片格式转换的示例代码
  11. 计算机rank函数排名怎么用,用好RANK函数 跨表排名不用愁
  12. ArcEngine导出地图
  13. android 模拟器 启动,android开发之启动模拟器并安装游戏apk
  14. php slim get,php – 在Slim上获取请求参数
  15. 2.1_3 Oracle float number类型 详解 + 测试实例(测试小数发现BUG)
  16. 阿里云网站备案-备案流程问题解答汇总
  17. 使用AI技术获取图片文字与识别图像内容
  18. 微信企业号开发之 企业号人员身份认证与开发
  19. 数学建模方法-灰色预测法
  20. 推荐]全球最强大的硬盘修复工具PC3000 V14完美破解光盘版+pc3000中文说明书

热门文章

  1. 判断true的正确做法
  2. OpenCV:使用OpenCV3随机森林进行统计特征多类分析
  3. ROS:ubuntuKylin17.04-Ros使用OrbSLAM2
  4. 时序分析:HMM模型(状态空间)
  5. Windows各种计时器
  6. [收藏] 微软850位顶级人才不做Windows研发
  7. linux克隆出现mac地址错误
  8. 添加第三方库到Maven资源库
  9. Node.js 切近实战(十一) 之实时通讯
  10. spring--(19)切面优先级