本帖最后由 tcmis 于 2014-08-29 16:12:57 编辑

解决方案 »

  1.   

    当你把Obj当做class用的时候。
    class Obj{}    就=   Obj.prototype.既然Obj是class,class怎么会在没有实例化的时候使用。
    当然你可把他当做namespace使用。但是意义就没了。
    反正就是不严谨,千变万化。
      

  2.   

    楼上老大, 如何能严谨点, 给个DEMO我也是才接触js的这种写法, 以前就全部写成function去实现, 看到别人用这样的方式,感觉代码比较清晰所以想改进一下我的code.,希望指点一下, 谢谢。
      

  3.   

    Obj.prototype = {
      f1 : function(){
        alert("f1");
      }
     
      f2 : function(){
        // 我这里想调用f1函数,怎么调用都没有反应, 没有显示提示消息f1啊, 这里如何调用f1函数
       Obj.f1();
     }
    }
      

  4.   

    var Obj = function(p1, p2){
      this.P1 = p1;
      this.P2 = p2;
    }
      
    Obj.prototype.dddd = {
      f1 : function(){
        alert("f1");
      },  f2 : function(){
        // 我这里想调用f1函数,怎么调用都没有反应, 没有显示提示消息f1啊, 这里如何调用f1函数
       Obj.prototype.dddd.f1();
     }
    }var s =new Obj();
    s.dddd.f2(); 
      

  5.   

    你的obj是一个类,而不是实例化的具体对象。如果你实在要调用那就obj.prototype.f2()吧。
      

  6.   

      
    var Obj = function(p1, p2){
      this.P1 = p1;
      this.P2 = p2; this.dddd = {
      f1 : function(){
        alert("f1");
      },  f2 : function(){
        // 我这里想调用f1函数,怎么调用都没有反应, 没有显示提示消息f1啊, 这里如何调用f1函数
       this.f1();
     }
    }
    }
      
    var s =new Obj();
    s.dddd.f2(); 
      

  7.   

      
    var Obj = function(p1, p2){
      this.P1 = p1;
      this.P2 = p2;
    }
      
    Obj.prototype.dddd = {
      f1 : function(){
        alert("f1");
      },  f2 : function(){
        // 我这里想调用f1函数,怎么调用都没有反应, 没有显示提示消息f1啊, 这里如何调用f1函数
      this.f1();
     }
    }var s =new Obj();
    s.dddd.f2(); 
      

  8.   

    你那么写已经调用f1了 是没调用f2而已 
    var t = new Obj();
    t.f2();
      

  9.   


    话说用了这么久js我也没有用过js new对象 只用过json