(一)JavaScript基本语法 - 图2

  1. 1. ECMASCRIPT: 定义了javascript的语法规范,描述了语言的基本语法和数据类型
  2. 2. BOM (Browser Object Model): 浏览器对象模型
  3. - 有一套成熟的可以操作浏览器的 API,通过 BOM 可以操作浏览器。比如: 弹出框、浏览器跳转、获取分辨率等
  4. 3. DOM (Document Object Model): 文档对象模型
  5. - 有一套成熟的可以操作页面元素的 API,通过 DOM 可以操作页面中的元素。比如: 增加个 div,减少个 div,给div 换个位置等

1、语句

javascript的执行单位为行,也就是一行一行的执行,一般情况下每一行都是一个语句。

语句:为了完成某种任务而进行的操作。
表达式:为了得到一个返回值的计算式。

语句和表达式的区别:语句主要是为了进行某种操作,一般情况下不需要返回值。表达式则是为了得到返回值,一定会返回一个值。

1.1 js表达式

JS表达式分为两种,其一原始表达式,其二复杂表达式

原始表达式是表达式的最小单位,不在包含其它表达式。原始表达式分为字面量、关键字和变量,具体划分为this关键字、标识符引用、字面量引用、数组初始化、对象初始化和分组表达式。

  1. this; //返回当前对象
  2. a; //返回变量a的值
  3. b; //返回变量b的值
  1. null;
  2. undefined;
  3. true;
  4. false;
  5. 1;
  6. 'abc';
  7. /pattern/;
  1. //数组和对象的初始化实际上是一个以字面量方式描述的初始化过程。这两个初始化表达式有时称作数组字面量和对象字面量
  2. [];
  3. [2, 3, 4];
  4. {};
  5. {a:1};

复杂表达式由原始表达式和操作符组合而成,分为三类,其一属性访问表达式,其二对象创建表达式,其三函数表达式。

  1. var obj = { a : 1};
  2. console.log(obj.a); //1
  3. console.log(obj[a]); //1
  4. var arr = [1, 2, 3];
  5. console.log(arr[0]); //1
  1. new Object();
  1. var fn = function(){ }

2、变量

2.1概念

变量是对“值”的具名引用,变量就是为值起名,引用这个变量就是引用这个值。

  • 变量指的是在程序中保存数据的一个容器
  • 变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
  • 也就是说,我们向内存中存储了一个数据,然后要给这个数据起一个名字,为了是我们以后再次找到他
  • 语法: var 变量名 = 值 ```javascript //定义一个变量 var num;

//给变量赋值 num = 10;

//变量的声明和赋值 var num2 = 20; //如果使用var重新声明一个已经存在的变量,是无效的 var x = 1; var x; x // 1 //如果一个函数声明了两次,且第二次声明进行赋值,则会覆盖前面的值 var x = 1; var x = 2; x //2

  1. 如果只声明了一个变量而没有给他赋值,则这个变量的值为undefinedundefined是一个特殊的值,表示 无定义。
  2. <a name="gDW7H"></a>
  3. #### 2.2变量提升
  4. JavaScript的工作方式是先解析代码,获取到所有的变量,然后再一行一行的运行代码。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升。
  5. ```javascript
  6. console.log(a)
  7. var a = 1;
  8. //因为存在变量提升所以上面代码的运行顺序为
  9. var a
  10. console.log(a)
  11. a = 1;
  12. //所以返回的结果为undefined,表示变量还未被赋值

2.3变量的命名规则和命名规范

命名规则:
1、一个变量名称可以是英文字母,数字,英文下划线_,以及美元符号$组成。
2、严格区大小写。
JavaScript 的变量名区分大小写,A和a是两个不同的变量
3、第一个字符可以是英文字母,下划线。美元符号,但不能是数字开头。
4、不能是关键字。
5、不能包含空格。
命名规范:
1、 变量名最好有意义(语义化)
2、遵循驼峰命名规则,由多个单词组成的时候,从第二个单词开始首字母大写

JavaScript 有一些保留字,不能用作标识符:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。

3、js代码注释

js提供两种注释方法,一种是单行注释(以//开头),一种是多行注释(放在//中间)

  1. //单行注释
  2. /*
  3. 这是
  4. 多行
  5. 注释
  6. */