jQuery技术

45 个实用的 JavaScript 技巧、窍门和最佳实践

字号+ 作者:H5之家 来源:H5之家 2017-11-25 10:23 我要评论( )

如你所知,JavaScript是世界上第一的编程语言(编者注:2013年最后的一天就不要起圣战了=_=),它是Web的语言,是移动混合应用(mobile hybrid apps)的语言(比如PhoneGap或者Appcelerator),是服务器端的语言(比如NodeJS或者Wakanda),并且拥有很多其他的

如你所知,JavaScript是世界上第一的编程语言(编者注:2013年最后的一天就不要起圣战了=_=),它是Web的语言,是移动混合应用(mobile hybrid apps)的语言(比如 PhoneGap或者 Appcelerator),是服务器端的语言(比如 NodeJS或者 Wakanda),并且拥有很多其他的实现。同时它也是很多新手的启蒙语言,因为它不但可以在浏览器上显示一个简单的alert信息,而且还可以用来控制一个机器人(使用 no


如你所知,JavaScript是世界上第一的编程语言(编者注:2013年最后的一天就不要起圣战了=_=),它是Web的语言,是移动混合应用(mobile hybrid apps)的语言(比如 PhoneGap或者 Appcelerator),是服务器端的语言(比如 NodeJS或者 Wakanda),并且拥有很多其他的实现。同时它也是很多新手的启蒙语言,因为它不但可以在浏览器上显示一个简单的alert信息,而且还可以用来控制一个机器人(使用 nodebot,或者 nodruino)。掌握JavaScript并且能够写出组织规范并性能高效的代码的开发人员,已经成为人才市场上的猎寻对象。

在这篇文章中,我将分享一组JavaScript的技巧、窍门和最佳实践,这些都是JavaScript程序员应该知晓的,不管他们是使用在浏览器/引擎上,还是服务器端(SSJS——Service Side JavaScript)JavaScript解释器上。

译者注:原文作者总共写了44条(漏写了第3条),译者自己补了一条觉得比较重要的技巧。

需要注意的是,这篇文章中的代码片段都在最新的Google Chrome(版本号30)上测试过,它使用V8 JavaScript引擎(V8 3.20.17.15)

1. 第一次给一个变量赋值的时候不要忘记使用 var 关键字

给一个未定义的变量赋值会导致创建一个全局变量。要避免全局变量。

2. 使用===,而不是==

==(或!=)操作符在需要的时候会自动执行类型转换。===(或!==)操作不会执行任何转换。它将比较值和类型,而且在速度上也被认为优于==。

[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 false3. 使用闭包实现私有变量(译者添加)function Person(name, age) {         this.getName = function() { return name; };         this.setName = function(newName) { name = newName; };         this.getAge = function() { return age; };         this.setAge = function(newAge) { age = newAge; };      //未在构造函数中初始化的属性     var occupation;         this.getOccupation = function() { return occupation; };         this.setOccupation = function(newOcc) {          occupation = newOcc;     }; }4. 在语句结尾处使用分号

在语句结尾处使用分号是一个很好的实践。如果你忘记写了你也不会被警告,因为多数情况下 JavaScript 解释器会帮你加上分号。

5. 创建对象的构造函数function Person(firstName, lastName){         this.firstName =  firstName;         this.lastName = lastName; }  var Saad = new Person("Saad", "Mousliki");6. 小心使用typeof、instanceof 和 constructorvar arr = ["a", "b", "c"]; typeof arr;   // return "object"arr  instanceof Array // truearr.constructor();  //[]7. 创建一个自调用函数(Self-calling Funtion)

这个经常被称为自调用匿名函数(Self-Invoked Anonymous Function)或者即时调用函数表达式(IIFE-Immediately Invoked Function Expression)。这是一个在创建后立即自动执行的函数,通常如下:

(function(){     // some private code that will be executed automatically })(); (function(a,b){     var result = a+b;     return result; })(10,20)8. 从数组中获取一个随机项var items = [12, 548 , 'a' , 2 , 5478 , 'foo' , 8852, , 'Doe' , 2145 , 119];   var  randomItem = items[Math.floor(Math.random() * items.length)];9. 在特定范围内获取一个随机数

这个代码片段在你想要生成测试数据的时候非常有用,比如一个在最小最大值之间的一个随机薪水值。

var x = Math.floor(Math.random() * (max - min + 1)) + min;10. 在 0 和设定的最大值之间生成一个数字数组var numbersArray = [] , max = 100;  for( var i=1; numbersArray.push(i++) &lt; max;);  // numbers = [0,1,2,3 ... 100]11. 生成一个随机的数字字母字符串function generateRandomAlphaNum(len) {         var rdmstring = "";         for( ; rdmString.length < len; rdmString  += Math.random().toString(36).substr(2));         return  rdmString.substr(0, len); }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 实用的那才是最好的!xp使用技巧分享

    实用的那才是最好的!xp使用技巧分享

    2017-11-22 12:24

  • 一款特好用的JavaScript框架 JQuery

    一款特好用的JavaScript框架 JQuery

    2017-11-17 08:11

  • 从零开始学习 jQuery(十)jQueryUI常用功能实战

    从零开始学习 jQuery(十)jQueryUI常用功能实战

    2017-11-14 17:00

  • [教学视频]jQuery实战

    [教学视频]jQuery实战

    2017-11-12 10:00

网友点评