一、区分大小写
二、单引号与双引号
a) 没有特殊的区别,但大多数的WEB开发者都选择使用单引号而不是双引号
三、换行
a) 无法你使用哪种引号来创建字符串,字符串中间都不能包含强制换行符;
四、如果你在同一页面中组合使用了多个库和不同来源的代码,而这些脚本恰好需要使用被你覆盖的核心函数完成相应的功能,那么就可能会得到意外的结果;
五、匿名函数
a) 匿名函数是一种在不带名称的函数,
六、解析域和作用域
a) Function myFunction(){
var myVariable=’inside’;
}
var myVairable=’outside’;
myFunctio();
如果内部去掉为myVariable赋值时使用的关键字var ,那么myVariable的作用域将会解析到外部。(var 关键字决定了哪个函数是特定变量的作用域链的终点,同样的逻辑也适用于取得变量值的情况);
七、迭代对象
a) Var all=document.body.getElementsByTagsName(‘*’);
For(i=0;i<all.length;i++){
//对ALL[I]元素的某些操作;
}
b) Var all=document.body.getElementsByTagsName(‘*’);
For(i in all){
//对ALL[I]元素的某些操作;
}
这次迭代过程中,i值也会分别等于length/item/namedItem这导致代码中出现意外的错误;而hasOwnProperty()避免这个问题;如果对象的属性或方法是韭继承的、那么hasOwnProperty()返回true;如果在for循环中使用了这种检查,那么循环将会跳过length这样的属性;length不是数组all的直系属性,而是派生数组all的NamedNodeMap对象的继承的属性;
c) Var all=document.body.getElementsByTagsName(‘*’);
For(i in all){
If(all.hasOwnProperty){continue;}
//对ALL[I]元素的某些操作;
}
八、函数的调用和引用(不带括号)
a) Var foo=exampleFunction; 与var foo=exampleFunction();
尾处没有圆括号,赋值给变量的是函数本身,而非结果。带圆括号的不会得到的想要的结果;
待续!如有疑问,请提出你的见解,一起分享。。