javascript 核心语言笔记- 2 语法结构

字符集

JavasSript 程序是用 Unicode 字符集 编写的,Unicode 是 ASCII 和 Latin-1 的超集,支持几乎所有在用的语言。ECMAScript 3 要求 JavaScript 的实现必须支持 Unicode 2.1 及后续版本,ECMAScript 5 则要求支持 Unicode 3 及其以后的版本

区分大小写

JavaScript 是区分大小写的。关键字、变量、函数名和所有的标识符(identifier)都必须采取一致的大小写形式

需要注意的是 HTML, HTML 5(标签、属性名)并不区分大小写,XHTML 是区分大小写的,但是现代浏览器通常有容错能力,即使标签名、属性名大小写乱用也会正常解析。特别注意 HTML 标签的 属性值 是区分大小写的,比如

<div class="warp Warp"></div>

空格、换行和格式控制符号

JavaScript 会忽略程序中标识(token)之间的空格。多数情况下,JavaScript 会忽略换行符。

JavaScript 会识别下面的空白字符

  • 普通空格字符(\u0020)
  • 水平制表符(\u0009)
  • 垂直制表符(\u000b)
  • 换页符(\u000c)
  • 不中断空白符(\u00a0)
  • 字节序标记(\ufeff)

JavaScript 会识别下面的字符识别为行结束符

  • 换行符(\u000a)
  • 回车符(\u000d)
  • 行分割符(\u2028)
  • 段分割符(\u2029)

回车符加换行符在一起被解析为一个单行结束符

Unicode 转义序列

在有的计算机硬件和软件里面无法显示 Unicode 字符全集,JavaScript 定义了一种特殊序列,使用 6 个 ASCII 字符来代表任意 16 位 Unicode 内码。这些内码均以 \u 为前缀,其后跟随 4 个十六进制数。这种 Unicode 转义写法可以用在 JavaScript 字符串直接量、正则表达式直接量和标识符(除关键字)中。例如:

1  "\u4F60\u597D\uFF0C\u4E16\u754C" === "你好,世界"   // => true
2 // 注意由于 \u 后面的 4 个16进制数并不区分大小写,所以 unicode 码并不区分大小写
3 "\u4f60\u597d\uff0c\u4e16\u754c" === "你好,世界"   // => true

注释

注释类似 Java 和 C,多行注释 不能嵌套  //单行 , /* */ 多行;

直接量

直接量(literal)就是程序中直接使用的数据值

1 12             // 数字
2 1.2            // 小数数字
3 ‘hello‘        // 字符串
4 true           // 布尔真
5 false          // 布尔假
6 /javascript/gi // 正则表达式直接量

标识符和保留字

标识符 (indetifiers)就是一个名字,用来对变量和函数命名,JavaScript 标识符必须以字母、下划线(_)或美元符($)开头

也可以使用 Unicode 字符全集,比如:

1 var 你好 = ‘你‘;
2 var π = 3.14;
3 你好                // => "你"
4 π                   // => 3.14

保留字(Reserved Words)是 JavaScript 用做自己关键字的标识符,写程序的时候要避免使用这些标识符来命名

break delete function return typeof case do if switch var catch else in this void continue false instanceof throw while debugger finally new true with default for null try

ECMAScript 5 中多保留了这些关键字,未来可能会用到

class const enum export extends import super

下面这些关键字在普通 JavaScript 代码中是合法的,但是在严格模式下是保留字:

implements let private public yield interface package protected static

JavaScript 中定义了很多全局变量和当函数,要 避免 使用这些名字做变量名或函数名,比如:arguments encodeURI JSON Math 等

可选分号

通常来说 JavaScript 语句通常用分号(;)分隔,但是多数情况下 JavaScript 解析器会自动添加分号,所以有的程序员不喜欢加分号,如果代码有正确的书写这样也是可行的

这样两个分号可以省略

1 var a = 3;
2 var b = 4;
3 //  这样的多个变量逗号区分,用一个分号j结束就可以了
4  var a=5, b=6, c=4;
时间: 2024-10-12 23:49:17

javascript 核心语言笔记- 2 语法结构的相关文章

javascript 核心语言笔记 5 - 语句

表达式在 JavaScript 中是短语(phrases),那么语句(statements)就是 JavaScript 整句或命令,语句以分号结束.表达式计算出一个值,语句用来执行以使某件事情发生 表达式语句 赋值语句.递增/减运算.delete 运算符删除对象属性.函数调用都是表达式语句 1 gretting = "Hello " + name; 2 i *= 3; 3 count++; 4 delete o.x; 5 alert(greeting) 6 window.close()

javascript 核心语言笔记 6 - 对象

对象是 JavaScript 的基本数据类型.是一种复合值:将很多值聚合在一起.对象可以看做是无序集合,每个属性都是一个名/值对.这种基本数据结构还有很多叫法,比如「散列」(hash).「散列表」(hashtable).「字典」(dictionary).「关联数组」(associative array).JavaScript 还可以从一个称为 原型 的对象继承属性 JavaScript 对象是动态的 -- 可以新增属性也可以删除属性,除了字符串.数字.布尔值.null 和 undefined 之

R语言笔记之语法篇

R语言基础之语法 分支结构Ifelse和 Ifelse函数 循环结构 for循环 while循环 repeat循环 breaknext 函数和包 1函数 1创建 2查看函数代码 3导入R文件 2包的安装和加载 1包的安装 2包的加载 向量化计算 1普通的加减乘除 2apply家族 1 applyxMARGIN2 2 lapply列表函数名函数其他参数 3 sapply列表函数名函数其他参数 4 mapply列表函数名函数其他参数 5 tapply向量因子因子列表函数函数名 3split 排序 数

javascript学习笔记---ECMAScript语法(引用类型)

引用类型通常叫做类(class). 本教程会讨论大量的 ECMAScript 预定义引用类型. 引用类型 引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象. 本教程会讨论大量的 ECMAScript 预定义引用类型. 从现在起,将重点讨论与已经讨论过的原始类型紧密相关的引用类型. 注意:从传统意义上来说,ECMAScript 并不真正具有类.事实上,除了说明不存在类,在 ECMA-262 中根本没有出现"类"这个词.ECMAScript 定义了"对象定

005-循环结构(上)-C语言笔记

学习目标 1.[掌握]switch-case结构 2.[理解]case语句穿透 3.[理解]Xcode断点调试 4.[理解]while循环结构初体验 5.[掌握]while循环结构的应用 6.[理解]break和continue 一.switch-case结构 switch(表达式){ case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; ... break; case 常量表达式n: 语句n; break; default: 语句n+1; break; } 1

javascript学习笔记---ECMAScript语法(辅助)

1.区分大小写. test与Test变量是两个不同的变量 2.变量是弱变量. 与C,java等等语言变量不是很一样. 如下java代码 ? 1 2 3 4 int i =0; //再次赋值 i = 10;//ok i = "hello";//wrong 类型不匹配 javascript ? 1 2 3 4 var i = 9; //再次赋值 i = 10;//ok i = "hello";//ok 但是不建议这么干,如此会给开发造成干扰,不明确变量的类型.(变量命名

javascript学习笔记---ECMAScript语法(变量)

变量声明关键字var: var i = 1: var t = "asd"; var test1 = "hi", test2 = "hello"; 声明变量不一定要初始化, var i;//ok 另一方面在使用变量前若未加关键字var,则此变量为全局变量(此特性需特别记住). 变量名字: 变量名需要遵守两条简单的规则: 第一个字符必须是字母.下划线(_)或美元符号($) 余下的字符可以是下划线.美元符号或任何字母或数字字符 命名变量规则: Came

最新的JavaScript核心语言标准&mdash;&mdash;ES6,彻底改变你编写JS代码的方式!【转载+整理】

原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructuring 箭头函数 Arrow Functions Symbols 集合 学习Babel和Broccoli,马上就用ES6 代理 Proxies ES6 说自己的宗旨是"凡是新加入的特性,势必已在其它语言中得到强有力的实用性证明."--TRUE!如果你大概浏览下 ES6 的新特性,事实上它

python核心编程--笔记

python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   冗余输出(导入语句详细追踪) 1.5 –m mod 将一个模块以脚本形式运行 1.6 –Q opt 除法选项(参阅文档) 1.7 –c cmd 运行以命令行字符串心事提交的python脚本 1.8 file   以给定的文件运行python脚本 2 _在解释器中表示最后