[JavaScript学习笔记] 语法、关键保留字及变量

文章目录
[隐藏]

任何语言的核心都必然会描述这门语言最基本的工作原理。而JavaScript 的语言核心就是ECMAScript,而目前用的最普遍的是第3 版,我们就主要以这个版本来讲解。

语法构成

区分大小写

ECMAScript 中的一切,包括变量、函数名和操作符都是区分大小写的。例如:text 和Text 表示两种不同的变量。

标识符

所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。标识符可以是下列格式规则组合起来的一或多个字符:

  1. 第一字符必须是一个字母、下划线(_)或一个美元符号($)。
  2. 其他字符可以是字母、下划线、美元符号或数字。
  3. 不能把关键字、保留字、true、false 和null 作为标识符。

例如:myName、book123 等

注释

ECMAScript 使用C 风格的注释,包括单行注释和块级注释。

// 单行注释

/*
* 这是一个多行
* 注释
*/

直接量(字面量 literal)

所有直接量(字面量),就是程序中直接显示出来的数据值。

100 //数字字面量
'奔跑' //字符串字面量
false //布尔字面量
/js/gi //正则表达式字面量
null //对象字面量

在ECMAScript 第3 版中,像数组字面量和对象字面量的表达式也是支持的,如下:

{x:1, y:2} //对象字面量表达式
[1,2,3,4,5] //数组字面量表达式

关键字和保留字

ECMAScript-262 描述了一组具有特定用途的关键字,一般用于控制语句的开始或结束,或者用于执行特定的操作等。关键字也是语言保留的,不能用作标识符。

ECMAScript 全部关键字

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

ECMAScript-262 还描述了另一组不能用作标识符的保留字。尽管保留字在JavaScript中还没有特定的用途,但它们很有可能在将来被用作关键字。

ECMAScript-262 第3 版定义的全部保留字

abstract enum int short
boolean export interface static
byte extends long super
char final native synchronized
class float package throws
const goto private transient
debugger implements protected volatile
double import i  

变量

ECMAScript 的变量是松散类型的,所谓松散类型就是用来保存任何类型的数据。定义变量时要使用var 操作符(var 是关键),后面跟一个变量名(变量名是标识符)。

var box;
alert(box);

这句话定义了box 变量,但没有对它进行初始化(也就是没有给变量赋值)。这时,系统会给它一个特殊的值-- undefined(表示未定义)。

var box= '奔跑';
alert(box);

所谓变量,就是可以初始化后可以再次改变的量。ECMAScript 属于弱类型(松散类型)的语言,可以同时改变不同类型的量。(PS:虽然可以改变不同类型的量,但这样做对于后期维护带来困难,而且性能也不高,导致成本很高!)

var boxString = '奔跑';
boxString = 100;
alert(boxString);

重复的使用var 声明一个变量,只不过是一个赋值操作,并不会报错。但这样的操作是比较二的,没有任何必要。

var box= '奔跑';
var box= 'benpao';

还有一种变量不需要前面var 关键字即可创建变量。这种变量和var 的变量有一定的区别和作用范围,我们会在作用域那一节详细探讨。

box= '奔跑';

当你想声明多个变量的时候,可以在一行或者多行操作。

var box= '奔跑';var age= 100;

而当你每条语句都在不同行的时候,你可以省略分号。(PS:这是ECMAScript 支持的,但绝对是一个非常不好的编程习惯,切记不要)。

var box= '奔跑'
var age= 100
alert(box)

可以使用一条语句定义多个变量,只要把每个变量(初始化或者不初始化均可)用逗号分隔开即可,为了可读性,每个变量,最好另起一行,并且第二变量和第一变量对齐(PS:这些都不是必须的)。

var box= '奔跑',
age = 28,
height;

暂无评论

写评论

您必须登录后才可以发表评论。

本人从事电脑网络维护工作多年,对电脑配置较为熟悉,闲暇之余精心搜罗了目前主流电脑配置清单推荐给大家。紧跟市场动态,定期更新电脑硬件配置方案,扫除一切垃圾坑爹配置,提供最具性价比的电脑配置清单!本站涵盖内容包括:电脑组装机配置单、电脑组装机报价、电脑组装机教程等,另外还提供很多技术文章供您学习!