一:异常抛出try,catch,throw例如:function myFunction(){try{var x = document.getElementBy(‘demo’).value;if( x == ”) throw ‘值为空!!!’;if(isNaN(x)) throw ‘不是数字!!!’;if(x > 10) throw ‘太大!!!’;if(x < 5) throw ‘太小!!!’;}catch(err){var y = document.getElementBy(‘mess’);y.innerHTML = ‘错误:’ + err + ‘。’;}}二:变量提升JavaScript中,函数及变量的声明都将被提升到函数的最顶部。JavaScript中,变量可以在使用后声明,也就是变量可以先使用在声明。变量提升:函数声明和变量声明总是会被解释器悄悄地被‘提升’到方法体的最顶部。注:只有声明的变量会提升,初始化的不会。三:使用误区1:在JavaScript程序中如果你在if条件语句中使用赋值运算符的等号(=)将会产生一个错误结果,正确的方法是使用比较运算符的两个等号(==)。2:在常规的比较中,数据类型是被忽略的;在严格的比较运算中,===为恒等计算符,同时检查表达式的值与类型。3:在switch语句中,使用的是恒等计算符(===)。4:在JavaScript中,null用于对象,underfined用于变量,属性和方法。对象只有被定义才有可能为null,否则为underfined。null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。例如,测试对象是否存在if(typeof myObj !== ‘underfined’ && myObj !== null)