特点:松散型(变量不必具有一个明确的类型)、对象属性(对象把属性名映射为任意的属性值)、继承机制(基于原型)
组成:核心(ECMAScript,与web浏览器没有依赖关系),文档对象模型(DOM是针对XML单经过扩展用于HTML的应用程序编程接口),浏览器对象模型(BOM)
语法构成:1区分大小写
2标识符,就是变量、函数、属性的名字,或者函数的参数。可以是下列格式规则组合起来的一个或者多个字符
3单行注释:// 说明代码,调试 /* */多好块级注释
4关键字:一组具有特定用途的关键字,一般用于控制语句的开始或结束,或者用于执行特定的操作等。关键字也是语言保留的,不能用作标识符。是程序中开始使用的字符。
5 保留字:一组不能用作标识符的保留字。尽管保留字在 Javascript 中还没有特定的用途,但是他们很有可能在将来被用作关键字。6变量:是松散类型(用来保存任何类型的数据),定义变量时要用Var操作符(关键字),后面跟一个变量名(变量名是标识符)
数据类型: 六种数据类型:Undefined(尽量声明一个变量就初始化)Null、Boolean、Number(整型和浮点型,NaN非数值)、String(支持双单引号,tostring()方法)、Object(复杂,通过New创建一个对象,可以任意传参,还可以进行相应的计算)
parseInt只能转换字符串至数值;parseFloat用于浮点数值转换;typeof操作符:用来检测变量的数据类型。
运算符:表达式是ECMAScrip中的一个“短语”,解释器会通过计算把它转换成一个值。最简单的表达式是字面量或者变量名,还可以通过合并简单的表达式来创建复杂的表达式。(单一或组合字面量的运算符)
1一元运算符:只能操作一个值的运算符。(递增++和递减--,前置的运算符会先累加或者累减再赋值,后置运算符会先赋值在累加或者累减;++或者+对数值字符串有转型的功能)
2算数运算符:定义了5个,加减乘除求余。如果在算术运算的值不是数值,那么后台会先使用Number()转型函数将其转换为数值(隐式转化)
只要运算中有一个为字符串,那么+号就是字符串连接符。从左到右。数字加对象结果的类型为String;如果对象toString返回的是数值,那么就按数值来
3关系运算符:用于比较的运算符。< > <= >= == != ===(全等) !==(不全等)
4逻辑运算符:通常用于bool值的操作,一般和关系运算符配合使用。三种And、or、Not
5位运算符:位运算符有七种,分别是:位非 NOT(~)、位与 AND(&)、位或 OR( | ) 、位异或 XOR(^) 、
左移(<<)、有符号右移(>>)、无符号右移(>>>) ——基本用不到
6赋值运算符: =以及在其基础上的扩展运算符
7其他运算符:+(字符串运算符)、,(逗号运算符,多个变量声明,数组声明,对象声明)三元运算符(if语句的简写)