位置:海鸟网 > IT > JavaScript >

JavaScript教程:几种比较熟悉的编程习惯

  由于JavaScript的灵活性,可以让每个人按照自己的习惯进行编写代码.有函数式的编程方式,也有现在用的较为广泛的对象字面量.由于面向对象的出现,JavaScript刚开始的函数编程也逐渐演化为类式编程方式.现在我对几种比较熟悉的编程习惯进行简单的说明:

  1.对象字面量:

  var person = {

  name:null,

  setName:function(name){

  this.name = name;

  return this.name;

  },

  getName:function(){

  alert(this.name);

  }

  }

  具有JavaScript特色的一种编程方式,以类为单位含有属性name,方法setName和getName.调用方法比较简便person.setname('R'),this由此至终均指向person,person的属性与方法均不私有,可以进行调用.

  2.prototype构造器调用模式

  var Person = function(){

  this.name = null;

  }

  Person.prototype.setName = function(name){

  this.name = name;

  }

  Person.prototype.getName = function(){

  alert(this.name);

  }

  也是很常见的编程方式,创建一个Person类,然后利用prototype对类进行扩展,添加方法.与对象字面量最大区别在于,调用该类的方法时,必须先new(跟Java调用类相似).var p = new Person();p.getName();如果不用new,而直接创建,会产生错误.而且这种错误将不会报错,难以发现.错误的产生原因来自于this指向Person.prototypel,而Person并没有setName方法.

  3.利用匿名函数进行函数编程

  (function(){

  var name;

  var setName = function(n){

  name = n;

  }

  window['person']['setName'] = setName;

  var getName = function(){

  alert(name);

  }

  window['person']['getName'] = getName;

  })()

  类的出现,其中一个最大的好处就是降低了全局变量的出现,但是如果你依旧习惯于函数式编程,没关系,只要创建一个匿名函数,进行闭包,就可以再里面进行函数编程,也不需要担心全局变量的出现.如上所看到的var name;在匿名函数外部是无法调用的,然后利用外部的变量来调用内部的函数,或者是变量.可以借此创建私有变量和私有方法.