文档详情

20个超实用的javaScript技巧及最佳实践.docx

发布:2016-12-30约4.5千字共6页下载文档
文本预览下载声明
众所周知,JavaScript是一门非常流行的编程语言,开发者用它不仅可以开发出炫丽的Web程序,还可以用它来开发一些移动应用程序(如PhoneGap或Appcelerator),它还有一些服务端实现,比如NodeJS、Wakanda以及其它实现。此外,许多开发者都会把JavaScript选为入门语言,使用它来做一些弹出窗口等小东西。在这篇文章中,作者将会向大家分享JavaScript开发的小技巧、最佳实践等非常实用的内容,不管你是前端开发者还是服务端开发者,都应该来看看这些小技巧,它们绝对会让你受益的。文中所提供的代码片段都已经过最新版的Chrome 30测试,该浏览器使用V8 JavaScript引擎(V8 3.20.17.15)。1.第一次给变量赋值时,别忘记var关键字给一个未声明的变量赋值,该变量会被自动创建为全局变量,在JS开发中,应该避免使用全局变量。2.使用===替换==并且永远不要使用=或!=。Js代码?[10]?===?10//?is?false?[10]??==?10//?is?true?10?==?10//?is?true?10?===?10//?is?false??[]???==?0//?is?true??[]?===??0//?is?false???==?false?//?is?true?but?true?==?a?is?false???===false?//?is?false???3.使用分号来作为行终止字符在行终止的地方使用分号是一个很好的习惯,即使开发人员忘记加分号,编译器也不会有任何提示,因为在大多数情况下,JavaScript解析器会自动加上。?4.创建构造函数Js代码?function?Person(firstName,?lastName){???this.firstName?=??firstName;???this.lastName?=?lastName;}?var?Saad?=?new?Person(Saad,?Mousliki);???5.应当小心使用typeof、instanceof和constructorJs代码?var?arr?=?[a,?b,?c];??typeof?arr;//?return?object??arr??instanceof?Array?//?true?arr.constructor();??//[]??6.创建一个Self-calling函数这通常会被称为自我调用的匿名函数或立即调用函数表达式(LLFE)。当函数被创建的时候就会自动执行,好比下面这个:?Js代码?(function(){???//?some?private?code?that?will?be?executed?automatically?})();(function(a,b){???var?result?=?a+b;???return?result;??})(10,20)??7.给数组创建一个随机项?Js代码?var?items?=?[12,?548?,?a?,?2?,?5478?,?foo?,?8852,?,?Doe?,?2145?,?119];???var?randomItem?=?items[Math.floor(Math.random()?*?items.length)];??8.在特定范围里获得一个随机数下面这段代码非常通用,当你需要生成一个假的数据用来测试时,比如在最低工资和最高之前获取一个随机值。Js代码?var?x?=?Math.floor(Math.random()?*?(max?-?min?+?1))?+?min;??9.在数字0和最大数之间生成一组随机数Js代码?var?numbersArray?=?[]?,?max?=?100;???for(?var?i=1;?numbersArray.push(i++)??max;);??//?numbers?=?[0,1,2,3?...?100]??10.生成一组随机的字母数字字符Js代码?function?generateRandomAlphaNum(len)?{???var?rdmstring?=?;???for(?;?rdmString.length??len;?rdmString??+=?Math.random().toString(36).substr(2));???return?rdmString.substr(0,?len);???}??11.打乱数字数组Js代码?var?numbers?=?[5,?458?,?120?,?-215?,?228?,?400?,?122205,?-85411];??numbers?=?numbers.sort(function(){?return?Math.random()?-?0.
显示全部
相似文档