14条最佳JS代码编写技巧[译]

作者:Sofish 来源:幸福收藏夹 时间:2009-11-09 19:37:00 

写任何编程代码,不同的开发者都会有不同的见解。但参考一下总是好的,下面是来自 Javascript Toolbox 发布的 14条最佳JS代码编写技巧

1. 总是使用 ‘var’

在JavaScript中,变量不是全局范围的就是函数范围的,使用”var”关键词将是保持变量简洁明了的关键。当声明一个或者是全局或者是函数级(function-level)的变量,需总是前置”var”关键词,下面的例子将强调不这样做潜在的问题。

不使用 Var 造成的问题

var i=0; // This is good - creates a global variable
function test() {
   for (i=0; i<10; i++) {
      alert("Hello World!");
   }
}
test();
alert(i); // The global variable i is now 10!

因为变量函数中变量 i 并没有使用 var 使其成为函数级的变量,在这个例子中它引用了全局变量。总是使用 var 来声明全局变量是一个很多的做法,但至关重要的一点是使用 var 定义一个函数范围的变量。下面这两个方法在功能上是相同的:

正确的函数

function test() {
   var i=0;
   for (i=0; i<10; i++) {
      alert("Hello World!");
   }
}

正确的函数

function test() {
   for (var i=0; i<10; i++) {
      alert("Hello World!");
   }
}

2. 特性检测而非浏览器检测

一些代码是写来发现浏览器版本并基于用户正使用的客户端的对其执行不同行为。这个,总的来说,是一个非常糟的实践。更好的方法是使用特性检测,在使 用一个老浏览器可能不支持的高级的特性之前,首先检测(浏览器的)是否有这个功能或特性,然后使用它。这单独检测浏览器版本来得更好,即使你知道它的性 能。你可以在 http://www.jibbering.com/faq/faq_notes/not_browser_detect.html 找到一个深入讨论这个问题的文章。

例子:

if (document.getElementById) {
   var element = document.getElementById('MyId');
}
else {
   alert('Your browser lacks the capabilities required to run this script!');
}

标签:技巧,编程,js代码
0
投稿

猜你喜欢

  • Python之lxml安装失败的解决

    2023-11-27 04:34:22
  • Vue的生命周期一起来看看

    2024-05-02 17:03:21
  • Python Django2 model 查询介绍(条件、范围、模糊查询)

    2023-11-02 15:32:09
  • 关于numpy中eye和identity的区别详解

    2021-11-18 14:33:08
  • Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)

    2021-08-31 22:57:06
  • PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明

    2023-11-24 06:26:11
  • Python实现绘制多种激活函数曲线详解

    2022-06-30 01:02:06
  • 浅析python 定时拆分备份 nginx 日志的方法

    2023-08-04 06:03:37
  • Mysql实现企业级日志管理、备份与恢复的实战教程

    2024-01-13 16:30:16
  • Python实现SVN的目录周期性备份实例

    2021-07-19 16:13:22
  • pyenv虚拟环境管理python多版本和软件库的方法

    2022-07-18 07:56:30
  • Python Pandas的concat合并

    2023-06-08 05:05:38
  • Python求一批字符串的最长公共前缀算法示例

    2021-03-10 13:40:37
  • Oracle DBA常用语句

    2009-08-05 20:15:00
  • Python顺序结构语句详解

    2023-05-26 13:19:44
  • 基于vue打包后字体和图片资源失效问题的解决方法

    2024-05-05 09:12:13
  • 给你一面国旗 教你用python画中国国旗

    2023-06-25 15:10:36
  • pytorch实现focal loss的两种方式小结

    2023-07-02 14:43:22
  • Python依赖包整体迁移方法详解

    2022-11-03 05:32:55
  • Laravel+Layer实现图片上传功能(整理篇)

    2024-05-03 15:28:59
  • asp之家 网络编程 m.aspxhome.com