1.标识符与关键字
标识符以字母开头,可以包含字母、数字、下划线。标识符不能使用以下保留字符:
复制代码 代码如下:
abstract, boolean, break,byte,case,catch,char,class,const,debugger,default,delete,do,double,else,enum,export,extends,false,final,finally,float,for,function,goto,if,implements,import,in,instanceof,int,interface,long,native,new,null,package,private,protected,public,return,short,static,super,switch,synchronized,this,throw,throws,transient,true,try,typeof,var,volatile,void,while,with
此外,undefined,NaN,Infinity在javascript中有特定的意义,所以也不要使用。javascript不允许使用保留字来命名变量或参数。而且javascript还不允许在对象字面量中,或者在一个属性存取表达式的点号之后,使用保留字走位对象的属性名。
2.数字
javascript只有一个单一的数字类型,它的内部被表示为64位浮点数,和java的double一样。
值NaN是一个数值,它表示一个不能产生正常结果的运算结果,NaN不等于任何值,包括它自己,你可以用函数 isNaN(number) 检测NaN。
值Infinity表示所有大于 1.7976931348623157E+308 的值,即无穷大值。
3.字符串
字符串是不可变的。每次字符串改变都要创建一个新的字符串对象。
字符串中包含的是Unicode 16位字符。javascript中没有字符类型。
字符串有一个length属性,可以获得字符串的长度。
4.语句
var语句在函数内部定义一个变量时,定义的变量是函数的私有变量。var语句在函数外或者在函数内不用var定义的变量(直接使用,如:function(){m=3;})都是全局变量。
javascript中的代码块不会创建一个新的作用域,因此变量应该定义在函数的顶端,而不是在代码块中。
for … in …语句可以枚举一个对象的所有属性名。通常你必须通过检测 object.hasOwnProperty(varible) 来确定这个属性名是该对象的成员,还是从其原型链里找到的。
for(var pro in Object){ if (Object.hasOwnProperty(pro)) { ... };}
5.以下值被当做假(false):false,null,undefined,空字符串 “ ”,数字0,数字NaN 。