1. ECMASCRIPT: 定义了javascript的语法规范,描述了语言的基本语法和数据类型2. BOM (Browser Object Model): 浏览器对象模型- 有一套成熟的可以操作浏览器的 API,通过 BOM 可以操作浏览器。比如: 弹出框、浏览器跳转、获取分辨率等3. DOM (Document Object Model): 文档对象模型- 有一套成熟的可以操作页面元素的 API,通过 DOM 可以操作页面中的元素。比如: 增加个 div,减少个 div,给div 换个位置等
1、语句
javascript的执行单位为行,也就是一行一行的执行,一般情况下每一行都是一个语句。
语句:为了完成某种任务而进行的操作。
表达式:为了得到一个返回值的计算式。
语句和表达式的区别:语句主要是为了进行某种操作,一般情况下不需要返回值。表达式则是为了得到返回值,一定会返回一个值。
1.1 js表达式
JS表达式分为两种,其一原始表达式,其二复杂表达式
原始表达式是表达式的最小单位,不在包含其它表达式。原始表达式分为字面量、关键字和变量,具体划分为this关键字、标识符引用、字面量引用、数组初始化、对象初始化和分组表达式。
this; //返回当前对象a; //返回变量a的值b; //返回变量b的值
null;undefined;true;false;1;'abc';/pattern/;
//数组和对象的初始化实际上是一个以字面量方式描述的初始化过程。这两个初始化表达式有时称作数组字面量和对象字面量[];[2, 3, 4];{};{a:1};
复杂表达式由原始表达式和操作符组合而成,分为三类,其一属性访问表达式,其二对象创建表达式,其三函数表达式。
var obj = { a : 1};console.log(obj.a); //1console.log(obj[a]); //1var arr = [1, 2, 3];console.log(arr[0]); //1
new Object();
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
如果只声明了一个变量而没有给他赋值,则这个变量的值为undefined,undefined是一个特殊的值,表示 无定义。<a name="gDW7H"></a>#### 2.2变量提升JavaScript的工作方式是先解析代码,获取到所有的变量,然后再一行一行的运行代码。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升。```javascriptconsole.log(a)var a = 1;//因为存在变量提升所以上面代码的运行顺序为var aconsole.log(a)a = 1;//所以返回的结果为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提供两种注释方法,一种是单行注释(以//开头),一种是多行注释(放在/和/中间)
//单行注释/*这是多行注释*/

