14条最佳JS代码编写技巧[译]
作者:Sofish 来源:幸福收藏夹 发布时间:2009-11-09 19:37:00
标签:技巧,编程,js代码
写任何编程代码,不同的开发者都会有不同的见解。但参考一下总是好的,下面是来自 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!');
}
0
投稿
猜你喜欢
- 1. 首先导入一些python画图的包,读取txt文件,假设我现在有两个模型训练结果的records.txt文件import numpy a
- 完整代码下载:http://xiazai.jb51.net/201407/tools/python-migong.rar最近研究了下迷宫的生
- 概述路由是自定义url地址执行指定的函数,良好的路由定义可以对seo起到很好的效果。1. 基本路由gin框架封装了http库,提供了 GET
- python中自带了处理python的模块,使用时候直接import json即可。 使用loads方法即可将json字符串转换成pytho
- 外面很多所谓sitemap生成代码都只生成目录文件地址,没生成动态的,我后来自己写了这个,是支持动态的,例子: 如你是文章网站,文章有200
- 1. Series相当于数组numpy.array类似s1=pd.Series([1,2,4,6,7,2])s2=pd.Series([4,
- 本文实例为大家分享了Django实现上传图片的具体代码,供大家参考,具体内容如下1.设置存放上传的图片的文件夹settings.pyMEDI
- 1.下载python2.7.xwget https://www.python.org/ftp/python/2.7.6/Python-2.7
- Item Pipeline简介Item管道的主要责任是负责处理有蜘蛛从网页中抽取的Item,他的主要任务是清晰、验证和存储数据。当页面被蜘蛛
- 导语大家好,我是栗子同学!今天给大家分享一个好玩的东西让时光倒流——当当当,其实就是让视频倒放而已正
- 本文介绍了vue 模拟后台数据(加载本地json文件)调试,分享给大家,也给自己留个笔记首先创建一个本地json文件,放在项目中如下{ &q
- 导语哈喽吖铁汁萌!今天这期就给大家介绍几个我用到的办公室自动化技巧,可以瞬速提高办公效率。有需要的可以往下滑了1、Word文档doc转doc
- nodejs和nginx都可以反向代理,解决跨域问题。本地服务const express = require('express
- 我们都知道有很多的非常著名的注册服务器,例如: Consul、ZooKeeper、etcd,甚至借助于redis完成服务注册发现。但是本篇文
- 简述从官网下载了Python3.7.4,直接编译安装后,使用pip3出现了报错信息: Can't connect to HTTPS
- 前言当你逐渐了解tushare之后,你会发现我们要进行数据分析只靠tushare是不够的,接下来我将介绍如何利用第三方软件将tushare获
- 首先先定义一个list,将其转存为csv文件,看将会报什么错误list=[[1,2,3],[4,5,6],[7,9,9]]list.to_c
- 1.简介torch.autograd.Variable是Autograd的核心类,它封装了Tensor,并整合了反向传播的相关实现Varia
- 编程是数据科学中不可或缺的技能,虽然创建脚本来执行基本功能很容易,但编写大规模可读性良好的代码需要更多的思考。关于PEP-8pycodest
- optim.Adam()解读torch.optim是一个实现了多种优化算法的包,大多数通用的方法都已支持,提供了丰富的接口调用,未来更多精炼