帝豪娱乐平台:JavaScript 新手24条实用建议[TUTS+]

标签:关于我们    日期:2018-01-29 09:54    录入:帝豪2娱乐平台注册    浏览:

  

[JavaScript,新手,实用建议]JavaScript 新手24条实用建议[TUTS+]

  注:本文多次用到Firebug的console对象,请参考Firebug 帝豪娱乐平台 Console API 。关于firebug的更详细介绍,请猛击这里

  
1. 用 === 代替 ==  
  
JavaScript里有两种不同的相等运算符:===|!== 和==|!=。相比之下,前者更值得推荐。请尽量使用前者。

  

  
引用:
  
“如果两个比较对象有着同样的类型和值,===返回true,!==返回false。”  
  
– JavaScript: The Good Parts
不过,如果使用==和!=,在操作不同数据类型时, 你可能会遇到一些意想不到的问题。在进行相等判断前,JavaScript会试图将它们转换为字符串、数字或 Boolean量。

  
  
2. 避免使用Eval函数  
  
Eval函数把一个字串作为参数,并把字串作为JavaScript语句执行,返回结果(参考)。

  
  
此函数不仅会降低你脚本的执行效率,而且还大大增加了安全风险,因为它赋予了作为文本的参数太大的权利。千万别用!

  
  
3. 不要使用快速写法  
  
技术上说,你可以省略掉大部分花括弧和句尾分号,绝大多数浏览器都能正确执行以下语句:  

复制内容到剪贴板  
代码:
if(someVariableExists)  
x = false
不过,如果是这样的呢:  
复制内容到剪贴板  
代码:
if(someVariableExists)  
x = false  
anotherFunctionCall();
你可能会认为它和下面的语句相等:  
复制内容到剪贴板  
代码:
if(someVariableExists) {  
x = false;  
anotherFunctionCall();  
}
不幸的是,事实并非如此。现实情况是它等价于:  
复制内容到剪贴板  
代码:
if(someVariableExists) {  
x = false;  
}  
anotherFunctionCall();
如您注意到的,再漂亮的缩进也不能代替这华丽的花括弧。在所有情况下都请写清楚花括号和句尾分号。在只有一行语句的时候能偶尔省略掉,虽然下这么做也是极度不被推荐的:  
复制内容到剪贴板  
代码:
if(2 + 2 === 4) return 'nicely done';
多考虑下将来吧,孩子  
  
假设,在将来的开发过程中,你需要为这个 if 语句添加更多的命令呢?到时候你还不是得把括号给加上?

  
  
4. 好好利用JS Lint  
  
JSLint 是由 Douglas Crockford 编写的一个调试器。你只需要贴上你的代码,它就能快速为您扫描出任何明显的错误和问题。

  

  
引用:
  
“JSLint扫描接收的代码。发现问题,描述问题,并给出其在源码中的大概位置。可发现的问题包括但不限于语法错误,虽然语法错误确实是最常见的。JSLint也会用  
约定俗成的习惯检查代码的格式化风格,以及结构错误。通过JSLint的扫描并不能保证你的程序就完全正确。它只是为您提供了额外一双发现错误的眼睛。”  
  
  
– JSLint 文档
完成代码之前,把它放到JSLint里检查一下,快速消灭你的无心之过。

  
  
5. 在页面底部加载脚本  
  
正如下图所示:  
  
  
请记住—— 我们要千方百计保证客户端的页面载入速度尽可能的快。而脚本没载入完成,浏览器就没法加载页面的剩余部分。

  
  
如果你的JS文件只是添加一些额外功能——例如,为点击某链接绑定事件——那大可以等页面加载基本完成后再做。把JS文件放到页面最后,body的结束标签之前,这样做最好了。

  
  

★★★小编:帝豪2娱乐平台 整理文章,欢迎大家转载 ★★★