(一)语法:
1、Javascript区分大小写;
2、标识符:第一个字符应为一个字母、下划线或一个美元符号($);应采用驼峰大小写格式;
3、严格模式:ECMAScript 5 引入了严格模式(strict mode),代码: "use strict";
4、语句以分号结尾,可以把多条语句组合在一个代码块中({ ... });
(二)变量:
1、ECMAScript是松散类型的;定义变量使用 var 操作符;省略 var 不是推荐的做法;
2、可以修改变量值得同时,修改变量类型,但不推荐这样做;
3、作用域:在函数内定义的变量将成为这个函数内的局部变量,函数退出后就会被销毁;
而在 if 等语句中定义的变量可以再 if 等语句外可以调用,因为Javascript没有块级作用域;
(三)数据类型(Undefined、Null、Boolean、Number、String、Object)
1、typeof操作符:检测变量的数据类型;typeof的返回值与数据类型的对应关系如下图:
undefined | 如果这个值未定义 |
boolean | 布尔值 |
string | 字符串 |
number | 数值 |
object | 如果这个值是对象或null |
function | 函数 |
例如:var message = "string" ; alert(typeof message); 弹出“string”;message可以加括号;
2、Undefined类型:只有一个值undefined,是定义了变量,但未初始化;
这和未定义变量有很大区别,使用未定义的变量会返回错误;而 var message ; alert(message); //返回的是undefined;
给未定义的变量使用 typeof 操作,也会返回undefined,因此显式的初始化变量是明智的选择;
3、Null类型: 也只有一个值null;null值表示一个空对象指针;如果定义一个变量准备在将来用于保存对象,最好将其初始化null;
注意:alert(null == undefined) ; //返回true;
4、Boolean类型:只有两个子面量:true和false,并区分大小写;
要将一个值转换为Boolean值,可以使用转型函数Boolean(); 具体转换规则,可自行查阅;
5、Number类型:整数和浮点数值;
(1)整数:一般是十进制,八进制前加‘0’,十六进制前加‘0x’;
(2)浮点数值:数值中必须有小数点;需要的内存空间是保存整数值得两倍;
浮点数值得最高精度是17位小数,有舍入误差,因此不要测试某个特定的浮点数值;
(3)数值范围:最小值-Number.MIN_VALUE,最大值-Number.MAX_VALUE;
若超出范围,这个数值会转换为特殊的 Infinity ;可以使用 isFinite() 测试是不是Infinity值;
(4)NaN(Not a Number):表示一个本来要返回数值的操作数未返回数值的情况;
两个特点:一是任何涉及NaN的操作都会返回NaN;一是NaN与任何数值都不相等,包括(NaN);
可以使用 isNaN() 函数检测;调用这个函数之前,先使用 valueOf() 检测是否能够转换为数值,如果不能,使用 toString() 方法,再测试返回值;
(5)数值转换:把非数值转换为数值;
Number():可用于任何数据类型,转换规则,可自行查阅;
parseInt()和parseFloat()专门用于将字符串转换为数值;
6、String类型:表示有0或多个Unicode字符组成的字符串,双引号(“”)和单引号(‘’)都有效;
(1)字符字面量:\n、\t、\r等;会被 length属性 当做一个字符来解析;
(2)字符串的值是不可变的,若要改变,是先销毁,在创建(系统自动完成);
(3)一个值转换为字符串:
使用 toString() :说明, null和undefined值没有这个方法;例如:num.toString();
使用 String( 参数 ) :说明,可以将任何类型的值转换为字符串;转换规则自行查阅;例如: String(num);
也可以使用: + "" 这种方法;
7、Object类型:一组数据与功能的集合;
(1)定义:var obj = new Object();
(2)Object的每个实例都具有下列属性和方法:
a、Constructor:保存着用于创建当前对象的函数;
b、hasOwnProperty(propertyName):检测给定的属性在当前对象实例中是否存在;参数必须以字符串的形式;
c、isPrototypeOf(object):检测传入的对象是否是另一个对象的原型;
d、toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应;
e、toString():返回对象的字符串表示;
f、valueOf():返回对象的字符串、数值或布尔值表示;
(四)操作符
1、一元操作符
2、位操作符
3、布尔操作符
4、关系操作符
5、条件操作符: “ ? : ”
6、赋值操作符