1.JavaScript大小写敏感;
2.声明变量如果不写var,则为声明了全局变量;任何不是方法的函数,都是全局变量,其里面的this都指向window;
3.%运算符,求余数,保留整数,y=5;x=y%2;则x=1;
4.如需把两个或多个字符串变量连接起来,请使用 + 运算符,区别于php;
5.三目运算:greeting=(visitor==”PRES”)?”Dear President “:”Dear “;
6.indexOf()方法,从0算起,空格也算一位;
7.Math.floor()向下取整数,返回的值小于或等于该数,Math.floor(-5.9),返回-6;
8.函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!
9.写demo时,一定要将JS写到最下面,防止因html元素未加载,导致JS代码运行不出来预计的效果(JS是解释型语言,边加载边解释,只有目标对象被加载到DOM树以后才能获取和操作);
10.闭包的含义:闭包其实就是函数的嵌套,内层的函数可以使用外层函数的所有变量,即使外层函数已经执行完毕(所以闭包会有性能问题,外层的变量在外层函数调用结束之后还一直存在在内存中);
11.checkbox打钩的值为check,不是true;取消的值为undefined,不是false;
12.判断变量未定义用 typeof(flag)===”undefined”;
13.JS函数内部可以访问全局变量(或作函数外部变量),这点区别于PHP;
14.函数中的this,总是指向调用者,或者可以这样说:不是方法的函数,this都指向window;是方法的函数this指向对象本身(要注意方法中的闭包问题,this是指向window的);
15.销毁变量的方法:obj = null; delete obj;
16.直接判断时,以下会被转换成false: undefined,null,0,-0,NaN,”"(空字符串);所有其他值,包括对象、数组都会转换成true;
17.布尔值包含一个toString()方法,可以返回true或false的字符串;
18.可以说javascript只有6种数据类型,数字、字符串、布尔值、null、undefined和对象;
19.javascript中没有块级作用域,取而代之的是函数作用域(参见犀牛书第六版P57);
20.javascript的声明提前特性:在函数里声明的所有变量都被提前到函数的顶部(参见犀牛书第六版P58);
21.JS中函数的执行都是异步的,要注意取值的问题 。