1 语法
区分大小写
严格模式 在顶部使用 "use strict", 也可在指定函数中添加 "use strict"
关键字 let 与 yield
数据类型 : Undefined,Null, Number, String, Boolean , Object
typeof 操作符不是函数
null == undefined => true ; null === undefined =>false
Boolean() 函数可以对任何数据类型操作转换为Boolean类型
Infinity 正无穷 Number.MAX_VLAUE ; -Infinity 负无穷 Number.MIN_VALUE; 判断函数 isFinite()
NaN 非数值, 任何涉及NaN的操作都会返回NaN,NaN与任何值都不相等包含自身(NaN == NaN =>false),判读函数 isNaN()
数值转换函数, Number() parseInt(), parseFloat() , parseInt("10", 10); 第二参数为基数10进制,建议使用,parseFloat()只解析10进制
toString()方法,参数可以为进制基数,null与undefined无此方法 ;String()函数,参数对转换的对象,无需确定类型
Object 属性与方法
Constructor 即如 Object()
hasOwnProperty(propertyname)
isPrototypeof(object)
propertyIsEnumerable(propertyname)
toLocaleString()
toString()
valueof()
操作符:
一元操作符 : ++/--/+/-/~/|/&/<< >>有符号的右移, >>>无符号的右移, 逻辑操作符 !/||/&& + - * / % > < >= <=
== !=比较时会转换类型, 全等=== 不全等 !== 不转换类型
语句 : if while do-while for for-in(使用时检查对象是否为null或undefined), label语句(break, continue引用)
with语句 , var qs = location.serrch.substring(1); var hostName=location.hostname;
with(location){ //严格模式下不允许使用
var qs = search.substring(1);
var hostName = hostname;
}
switch 语句中使用任何类型,不限于数值,case 的值可以是变量
函数: ECMAScript中所有的参数传递都是值,不可能通过引用传递参数 不能重载函数
理解参数,参数个数与定义无关,在函数内可以通过arguments对象访问参数数组,arguments[i]访问