语法
区分大小写
标识符:第一个字符必须是字母、下划线、或一个美元符号;其他字符可以是字母、下划线、美元符号或数字。
注释:单行//;多行/* */,C语言风格的注释。
变量
松散类型,可以用来保存任何类型的数据。每个变量仅仅是一个用力保存值的占位符而已。定义变量时要使用var操作符,后跟变量名。在局部作用域中的变量在推出时会被销毁。如果省略了var操作符,变量就变味全局变量了。但此种方式不推荐使用。
数据类型
五种简单数据类型:Undefined、Null、Boolean、Number、String。一种复杂数据类型Object。并且不支持任何创建自定义类型的机制,所有值最终都将是上述6种数据类型之一。
typeof操作符
用于检测变量的数据类型,是操作符而不是函数。对一个值使用typeof可能返回的结果:值未定义, “undefined”;boolean,“boolean”;字符串,“string”;数值,“number”;对象或null,“object”;函数,“function”。
Undefined类型
使用var定义但是没有初始化的时候,这个变量的值就是undefined。如果一个变量没有声明,那么使用typeof操作符时也会返回undefined。但是如果直接alert会产生错误。
Null类型
如果定义的变量准备用于保存对象,那么最好将该变量初始化为null。直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用了。undefined值派生自null值。
Boolean类型
类型转换:
非空字符串 true 空字符串 false;非0数值 true 0和NaN false;非null true
Number类型
NaN:任何涉及的操作都会返回NaN,并且,与任何值都不相等,包括自身。
isNaN():
isNaN(NaN) true; isNaN(10) false; isNaN("10") false; isNaN("blue") true; isNaN(true) false
数值转换
Number()转换规则:
true 1,false 0;null 0;undefined NaN;
字符串:只有数字,十进制数字;包含有效浮点格式,浮点数值;有效十六进制格式,相同大小的十进制;空,0;其他,NaN;
对象:调用value(),如果结果为NaN,调用toString()。
parseInt():
parseInt("1234blue") 1234;parseInt("") NaN; parseInt("0xA") 10;parseInt(22.5) 22;parseInt("070") 56。
parseFloat():
String类型
字符串是不可变的,也就是一旦创建,它们的值就不能改变,要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。
转换为字符串:toString()
Object类型
var o = new Object();//不推荐省略括号
每个实例都有下列属性和方法:
Constructor:构造函数
hasOwnProperty(propertyName):检查给定的属性在当前对象实例中是否存在
isPrototypeOf(object):检查传入的对象是否是另一个对象的原型
propertyIsEnumerable(propertyName):检查给定的属性是否能够使用for-in语句来枚举
toLocaleString():返回对象那个的字符串表示,该字符串与执行环境的地区对应
toString():返回对象的字符串表示
valueOf():返回对象的字符串、数值或布尔值表示。通常与toString返回值相同。
操作符
一元操作符
递增和递减操作符 ++ --
一元加和减操作符 + -
位操作符
~ & | ^ << >> >>>
布尔操作符
!&& ||
乘性操作符
* / %
加性操作符
+ -
关系操作符
< > <= >=
相等操作符
== != === !==
条件操作符
?:
赋值操作符
=
逗号操作符
,
语句
if (condition) statement1 else statement2
do { statement } while (expression)
while (expression) statement
for (initialization; expression; post-loop-expression) statement
for (property in expression) statement
label:statement
break continue
with (expression) statement
switch (expression) { case value: statement break;}
函数
function functionName (arg0,arg1,......,argN){ statements }
参数
arguments对象参数数组