编写复杂环境下不出错的Javascript代码

2016-02-20 00:56 3 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享编写复杂环境下不出错的Javascript代码,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - Web开发 】

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

项目上线后,遇见一个很诡异的bug. 不断有用户反馈有问题,但开发和测试折腾了好久,都没找到重现条件。直到有个热心的用户跑过来,在用户的电脑上才发现问题所在:Flash版本过低,在js的某处判断了flash的版本,之后进入的代码分支中有这样一句:

YAHOO.util.Event.on(vipPopup, 'error', function () {...});

vipPopup在此处未定义,因此导致了出错。一旦找到出错点,解决起来就快了,不多说。

这问题让我想起一个一直想总结但一直没时间去总结的话题:如何让编写鲁棒的JavaScript代码?

鲁棒(Robust音译)的定义是:放在正确的环境能得到预期的结果,放在复杂的环境下也不会出错。很多JavaScript开发者还停留在裸写代码的时代,同时业界缺乏便捷低廉的前端测试方案,这导致项目上线后,某些bug在特定环境下才能触发,结果后续的bug定位就非常麻烦了。如果我们能在开发阶段,就让JavaScript代码鲁棒点,这样,即便测试覆盖不到某些分支,也不会因为异常而导致整个js代码坏掉。下面是我的一些经验:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

一、养成良好的编码习惯。良好的编码习惯有两个

来源:https://www.tulaoshi.com/n/20160220/1632884.html

延伸阅读
标签: Web开发
From:http://www.ajaxwing.com/index.php?id=2 一,背景 回顾一下编程语言的发展,不难发现这是一个不断封装的过程:从最开始的汇编语言,到面向过程语言,然后到面向对象语言,再到具备面向对象特性的脚本语言,一层一层封装,一步一步减轻程序员的负担,逐渐提高编写程序的效率。这篇文章是关于 JavaScript 的,所以我们先来...
标签: Web开发
有时候,你会发现,在一些JS应用中,涉及到CSS的重新渲染(即页面样式需要更新)的话,IE死活不变。 此时你需要让IE重新渲染一下: function handleIEhasLayout(){   //trigger re-rendering   document.body.style.zoom = 1.1;   //restore it   document.body.styl...
在什么样的环境下不易受孕     有不少育龄妇女都是在毫无准备的情况下孩子突然来临,给了她们意外的惊喜。但有些情况下,不易受孕,想要孩子的夫妻还是要尽量计划好。下面我们介绍一下在什么样的情况下不易受孕。     不要在情绪压抑时受孕。人一旦处于焦虑、抑郁或有沉重思想负担的精神状态下,不仅会影响...
标签: Web开发
一、什么是框架 框架Frames最主要功用是"分割"视窗,使每个"小视窗"能显示不同的HTM L文件,不同框架之间可以互动(interact),这就是说不同框架之间可以交换讯息与资料。例如:假设您开了两个frames,第一个frame可显示书的目录,第二个frame则显示章节的具体内容。 框架可以将屏幕分割成不同的区域,每个区...
标签: Web开发
下面我们通过一个例子,编写第一个 JavaScript 程序。 通过它可说明JavaScript的脚本是怎样被嵌入到HTML文档中的。test1.html文档: html head Script Language ="JavaScript" // JavaScript Appears here. alert("这是第一个JavaScript例子!"); alert("欢迎你进入JavaScript世界!"); alert("今后...

经验教程

422

收藏

91
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部