JS编程建议——2:正确辨析JavaScript句法中的词、句和段
建议2:正确辨析JavaScript句法中的词、句和段
JavaScript语法包含了合法的JavaScript代码的所有规则和特征,它主要分为词法和句法。词法包括字符编码、名词规则、特殊词规则等。词法侧重语言的底层实现(如语言编码问题等),以及基本规则的定义(如标识符、关键字、注释等)。它们都不是最小的语义单位,却是构成语义单位的组成要素。例如,规范字符编码集合、命名规则、标识符、关键字、注释规则、特殊字符用法等。
句法定义了语言的逻辑和结构,包括词、句和段的语法特性,其中段体现逻辑的结构,句表达可执行的命令,词演绎逻辑的精髓。
段落使用完整的结构封装独立的逻辑。在JavaScript程序中,常用大括号来划分结构,大括号拥有封装代码和逻辑的功能,由此形成一个独立的段落结构。例如,下面这些结构都可以形成独立的段落。
- {
- // 对象
- }
- function (){
- // 函数
- }
- if (){
- // 条件
- }
- for (){
- // 循环
- }
段落结构包含的内容可以是一条或多条语句。可以在段落起始标记({)前面添加修饰词,如域谓词(with、catch)、逻辑谓词(if、while、for)等。
语句是由多个词构成的完整逻辑。在JavaScript中,常用分号(;)来划分语句,有时也可以省略分号,默认使用换行符表示完整的语句。
一条语句可以包含一个或多个词。例如,在下面两条语句中,第一条语句只有一个词,这是一个指令词,该指令只能位于循环体或switch结构体内。第二条语句包含3个词,alert表示函数名(即变量),小括号表示运算符,而“"提示信息"”表示字符串直接量。
- break;
- alert("提示信息");
一条语句也可以包含一个或多个段落。例如,在下面这条语句中,直接把一个函数当做一个变量进行调用。 - (function(i){
- alert(i);
- })("提示信息");
还可以把函数包含在一个闭包中形成多个结构嵌套,这个嵌套结构体就构成了一个复杂的语句,例如: - (function(i){
- return function(){
- alert(i);
- };
- })("提示信息")();
语句一般至少包含一个词或段落,但是语句也可以什么都不包含,仅由一个分号进行标识,这样的句子称为空语句。空语句常用做占位符。例如,在下面这个循环体内就包含了一个空语句。 - for(var i; i<100;i++){
- ;
- }
词语是JavaScript句法结构中的最小语义单位,包括指令(或称语句)、变量、直接量(或常量)、运算符等。在JavaScript中,词语之间必须使用分隔符进行分隔,否则JavaScript就会错误解析。下面的代码块是一个简单的求两个数平均值的方法。 - var a = 34;
- var b = 56;
- function aver(c,d){
- return (c+d)/2;
- }
- alert(aver(a,b));
其中var、function、return是指令,这些指令也是JavaScript默认的关键字;a、b、c、d、aver、alert为变量;34、56是数值直接量;=、(、)、{、}、/、+、,是运算符。
JS编程建议——2:正确辨析JavaScript句法中的词、句和段相关推荐
- JS编程建议——7:小心保留字的误用
建议7:小心保留字的误用 JavaScript语言中定义了很多备用或已经使用的保留字,按首字母顺序列出的保留字. 这些单词中的大多数并没有在语言中使用,但是根据JavaScript语法规则,这些单词是 ...
- Java 并发编程解析 | 如何正确理解Java领域中的多线程模型,主要用来解决什么问题?
苍穹之边,浩瀚之挚,眰恦之美: 悟心悟性,善始善终,惟善惟道! -- 朝槿<朝槿兮年说> 写在开头 我国宋代禅宗大师青原行思在<三重境界>中有这样一句话:" 参禅之初 ...
- JS编程建议——8:谨慎使用运算符(3)
建议8:谨慎使用运算符(3) 要确保变量a的值为连续运算,可以使用小括号逻辑分隔符强迫4个数值先进行连续运算,然后再赋值. a = (1, 2, 3, 4); alert(a); //4 当使用var ...
- JS编程建议——37:推荐使用replace(1)
建议37:推荐使用replace(1) String对象的replace方法包含两个参数,第一个参数表示执行匹配的正则表达式,也可以传递字符串,第二个参数表示准备代替匹配的子字符串,例如,把字符串ht ...
- JS编程建议——42:用好正则表达式静态值
建议42:用好正则表达式静态值 正则表达式的静态属性比较特殊,有两个名字:长名(全称)和短名(简称,以美元符号开头表示),详细说明见表2.1. 表2.1 RegExp的静态属性 长名 短名 说明 in ...
- JS编程建议——52:建议使用splice删除数组
建议52:建议使用splice删除数组 删除数组元素的方法有多种,最简单的方法是利用length属性来截断数组,但这种方法比较笨拙,仅能够截断尾部元素.在JavaScript中,由于数组其实就是对象, ...
- JS编程建议——32:使用制表
建议32:使用制表 代码所做的事情越少,它的运行速度就越快,因此,避免重复工作很有意义.多次执行相同的任务也在浪费时间.制表法通过缓存先前计算结果为后续计算所使用,避免了重复工作,这使得制表成为递归算 ...
- Java 并发编程解析 | 如何正确理解Java领域中的内存模型,主要是解决了什么问题?
写在开头 这些年,随着CPU.内存.I/O 设备都在不断迭代,不断朝着更快的方向努力.在这个快速发展的过程中,有一个核心矛盾一直存在,就是这三者的速度差异.CPU 和内存的速度差异可以形象地描述为:C ...
- Java 并发编程解析 | 如何正确理解Java领域中的锁机制,我们一般需要掌握哪些理论知识?
苍穹之边,浩瀚之挚,眰恦之美: 悟心悟性,善始善终,惟善惟道! -- 朝槿<朝槿兮年说> 写在开头 提起Java领域中的锁,是否有种"道不尽红尘奢恋,诉不完人间恩怨"的 ...
最新文章
- 运维-系统架构师经验总结:
- Android Treble 计划技术文档
- 【学习笔记】《Go 指南》
- python的常用语句_python常用语句
- 09年最值得期待7大IT收购:思科收购VMware
- gnome 3.4 评测
- 【官方方法】ROS源
- Atitit 发帖机实现(1)-----UsrQBm2008 页面上下文规范
- 【重拾FPGA】三段式状态机的路口红绿灯
- java webp 图片处理_Java处理Webp图片格式转换的示例代码
- 计算机rank函数排名怎么用,用好RANK函数 跨表排名不用愁
- ArcEngine导出地图
- android 模拟器 启动,android开发之启动模拟器并安装游戏apk
- php slim get,php – 在Slim上获取请求参数
- 2.1_3 Oracle float number类型 详解 + 测试实例(测试小数发现BUG)
- 阿里云网站备案-备案流程问题解答汇总
- 使用AI技术获取图片文字与识别图像内容
- 微信企业号开发之 企业号人员身份认证与开发
- 数学建模方法-灰色预测法
- 推荐]全球最强大的硬盘修复工具PC3000 V14完美破解光盘版+pc3000中文说明书