日期:2014-05-16  浏览次数:20292 次

关于javascript的下面对象的写法
方法一
JScript code

function kk(){
    this.i=0
    }
    kk.prototype.add=function(){
        alert(++this.i)
        }
    kk.prototype.clear=function(k){
        this.i=k
        }    
    var p=new kk()
    p.add();
    p.add();
    p.clear(12)
    p.add();
    
    })



方法二
JScript code

var a=function(){
      var i=0;
      return {
          add:function(){alert(++i)},
          clear:function(k){i=k}
          }
    }()
    a.add()
    a.add()
    a.clear(12)
    a.add()




问题:
对于方法一,方法二我都可以建立自己的属性和方法,那哪种写法更好更标准?或者说这两种写法个适用于什么样的情况下。


------解决方案--------------------
ECMAScript 定义类或对象
------解决方案--------------------
对第一种情况类似于java类,可以new N多个对象,推荐 javascript王者归来 这本书你去看看,在该书的134-136页有详细的解释