与JavaScript新人共同分享实用经验

为JavaScript做一点性能小提升吧!

本文列出了24条能让你的代码编写过程更为轻松高效的建议。也许您还是JavaScript初学者,刚刚写完自己的Hello World,那这里有很多对您的工作将十分有用的小贴士;也许有些技巧您已经知道,那就试试快速浏览一下,看能不能发现一点新东西吧!

注:本文多次用到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(2 + 2 === 4) return 'nicely done';

多考虑下将来吧,孩子

假设,在将来的开发过程中,你需要为这个 if 语句添加更多的命令呢?到时候你还不是得把括号给加上?

时间: 2024-08-03 10:54:02

与JavaScript新人共同分享实用经验的相关文章

Illustrator中图形逻辑本质与实用经验技巧分享

给各位Illustrator软件的使用者们来详细的分享一下图形逻辑本质与实用经验技巧. 教程分享:                 好了,以上的信息就是小编给各位Illustrator的这一款软件的使用者们带来的详细的图形逻辑本质与实用经验技巧分享的全部内容了,各位看到这里的使用者们,小编相信大家现在是非常的清楚了吧,希望小编上面的教程能给各位带去有用的帮助.

一些你可能没重视的外链实用经验

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 外链的质量和广度与网站在搜索引擎的排名关联紧密.是一个网站排名好坏的重要指标之一,没有哪一个站长不重视外链的建设.可是对于咱们这些菜鸟站长来说,毫无头绪.技巧地做外链,既辛苦又不一定有好效果.在笔者的小站第三个关键词排到百度第二时,通过和竞争对手比较,惊奇地发现了一件事情,我的小站外链不到2000,而且是新站,缘何会超过外链快5000,上线已

[深度好文]想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~外加一些自己的理解

前言: 无意间浏览到此篇文章,发现这篇文章无论是对于新手程序员,还是学过几年的程序员,都是挺有帮助的.于是,在此分享,后面也有我自己的一些理解,希望能帮到更多的朋友. 作为一个软(ku)件(bi)工(de)程(ma)师(nong),你有没有觉得做什么事都没时间?没时间学习新东西,没时间去回顾.整理原来写的烂代码,没时间写单元测试,没时间给接管你项目的家伙写文档,没时间思考,没时间喘气,没!时!间! 额--如果你肯花点时间看看这篇文章,我相信你会明白应该把时间花在哪. 我曾以为成为一个技术大牛的唯

JavaScript实现非常简单实用的下拉菜单效果_javascript技巧

本文实例讲述了JavaScript实现非常简单实用的下拉菜单效果.分享给大家供大家参考.具体如下: 这是一款实用的JS下拉菜单,鼠标移上菜单就显示出二级菜单,是从其它网站上整理下来的,修改花了不少时间,现在去除了一些无用代码,更简洁了,而且代码兼容性似乎也表现不错,这款两级下拉菜单,基本是由CSS和JavaScript共同实现的,真的挺简洁实用. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-down-show-menu-code

中学生建网站宣称“分享性经验”

  网站截屏:关于ML的讨论   网站截屏:关于"一拖二"的讨论   网站截屏:关于"性伴侣"的讨论   网站截屏 15岁算不算晚恋?初恋是应该先拖手还是先"锡嘴(亲嘴)"?这些热辣话题全部来自广州一知名学生网站.一位学生网友对这类网帖深恶痛绝,公开发帖呼吁社会各界"来关注一下广州的中学生". 网上提意见被骂白痴 这位网名叫"红茶罐"的网友表示,她两年前刚高中毕业,此前也常来这个学生网站.她觉得,该网站上交

ADO.NET实用经验介绍

  ADO.NET作为微软最新的数据访问技术,已经在企业开发中得到了广泛的应用.对于一线的开发人员来说,掌握基本的概念和技术之后,提高应用水平和解决实际问题的最有效手段,莫过于相互交流彼此的最佳时间经验经验.在这篇文章中,两位ADO.NET专家向读者毫无保留地.详尽地介绍了很多实用经验. 简介 本文为您提供了在Microsoft ADO.NET应用程序中实现和获得最佳性能.可伸缩性以及功能的最佳解决方案;同时也讲述了使用ADO.NET中可用对象的最佳实践;并提出一些有助于优化ADO.NET应用程

常用的JavaScript WEB操作方法分享

 这篇文章主要介绍了常用的JavaScript WEB操作方法分享,包含数组方法集.cookie方法集.url方法集.正则表达式方法集.字符串方法集.加密方法集.日期方法集等常用操作方法,需要的朋友可以参考下     数组方法集 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4

新站分享的经验 如何让百度2个小时收录

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 小弟不才,在前人的经验基础上摸索了半天,开始做站,上班开的站,下午去百度的时候,真是很惊喜,我的小站居然很快被百度收录,下面给大家分享下经验,做为新手,写作不好,尽量阐述下哈. 一个新网站,要做到被搜索引擎快速收录和有较好的排名,我觉得必须要做到: 1 定位好,做站前要想好你的网站是做什么的,以后怎么发展,适合什么的人群,这些都要有一个很好的

广宇:你还在抱怨别人分享的经验没有新意吗

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 每日去各大站长网看看有没有什么东西可以学习有什么好的经验教训可以吸取 已经成了一种习惯,而我也确实通过朋友们分享的经验学到了很多东西,但是老手们都知道经常会有人在抱怨:怎么又是这一套.能不能换点新意,等等类似这种埋怨老手们分享的都是常见的都是他们自己觉得没有用的东西.今天我就来批驳一下这些浮躁的站长和推广人员. 举一个例子来说吧,最近几个月开