JavaScript程序员应该知道的45个实用技巧

  次阅读 来源:互联网(转载协议) 2016-01-27 15:52 我要评论(0)

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

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

需要注意的是,这篇文章中的代码片段都在最新的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 false

3使用闭包实现私有变量

代码如下:

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和constructor

代码如下:var arr = ["a", "b", "c"];

typeof arr;// return "object"

arrinstanceof Array // true

arr.constructor();//[]

7创建一个自调用函数(Self-calling Funtion)

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

代码如下:

(function(){

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

    品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

  • 第一批国家重点研发计划公布,旷视科技开启“五年行动”

    第一批国家重点研发计划公布,旷视科技开启“五年行动”

  • 让AI触手可及  Qualcomm携手创通联达推出全新终端侧AI开发套件

    让AI触手可及 Qualcomm携手创通联达推出全新终端侧AI开发套件

  • 长虹新款智能语音空调,告诉你空调也能玩Siri

    长虹新款智能语音空调,告诉你空调也能玩Siri

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...