var test = function(){}test.prototype.add = function(){}还是var test = {
  add: function(){}
}
那种比较好?或者还有更好的写法,给提提建议。

解决方案 »

  1.   

    个人觉得如果Test没有实质的东西,肯定用第二种好啊,如果Test里面已经有很多的实质内容了,不好破坏以前的结构,觉得第一种好啊,这只是我的意思,不代表高手的观点,等点高手详解。
      

  2.   

    你的2种写法是用在不一样的地方
    简单区分就是
    前面一个适合 建立多个对象 每个对象是test的一个实例
    后面一个比较适合 只有一个对象的情况下
      

  3.   

    各有各的适用范围
    第一种可以看成是一般的类,然后用new创造对象第二种可以看成是单例类,整个浏览器中只存在一个对象。
      

  4.   

    比如我以前写过的一个DragDropManager会定义成
    var DragDropManager = {
        enableDrag: function(obj) {}
    }用途为只要执行过DragDropManager.enableDrag的Html元素都会变成可拖拽的。虽然html元素的对象很多,但是用于管理的Manager对象只需要一个就行了。那也就没有必要每次都new了。
      

  5.   

    theforever大哥最近的回帖都挺意境的
      

  6.   

    单纯的问这种问题没有什么讨论价值
    而每个程序员或团队代码风格和标准也有差异总体来说,没有绝对的优劣。只是我的代码中new关键字可能比较少~~
      

  7.   

    第一种比较省资源
    第二种新建对象时每次都要初始化add,比较浪费