本帖最后由 alige 于 2011-02-06 20:29:33 编辑

解决方案 »

  1.   

    看不懂你在写什么,
        table_init.apply(dom,x);
        table_init.apply(this,x);apply 函数在哪里定义的?看来你是被所谓的 ext 啊 jquery 搞蒙的吧。
      

  2.   


    apply是集成的时候用的  f.apply(obj,args) 表示在obj对象上执行f函数 并以args数组为参数http://www.w3school.com.cn/js/pro_js_inheritance_implementing.asp
      

  3.   


    你搞蒙了吧。apply和call是JS内部函数!
      

  4.   

    就我所知,这种写法不太好,你每次NEW一个TABLE,都要重复生成TABLE字符串,你可以用闭包把TABLE字符串保存起来,每次NEW的时候只要填充参数给它再返回就可以了!
      

  5.   

    还有用+连接字符串也不太好,最好用数组,然后arr.join("");
      

  6.   

    基本是面向过程的写法
    你new 和不new好像没什么区别吧
      

  7.   

    的确,我把 apply 的函数忘了,不过看到 LZ 些的那些代码,无语。按照你的原意应该是有一个 Table 类
    是不是应该这样定义 function Table(xx)
    {
        xxxxx;
    }Table.prototype.init = function ()
    {
        xxx;
    };
      

  8.   

    都是让那些oo程序员搞的。。
    js支持面向对象、面向过程两种编程方式,但是没有必要刻意去面向对象。
    调用对象属性的速度总是没有直接调用局部变量的速度快的。
    还有就是“博观而约取,厚积而薄发”。
      

  9.   

    的确是受 extjs 影向,看到ext里,new 出一个对象后,可以用对象名引用方法,也可以通过对像属性ID 获取对象,然后使用方法。如果,我不用 
    table_init.apply(dom,x);
    table_init.apply(this,x);
    这两句的话,页面,在不知道对象名的情况下,就不知如何去获取对象了。不知道我这样说清楚了没
      

  10.   

    感谢大家对我问题的关注!!
    花了好多天时间,基本已经有一个成品了。发这些代码是我做 ajax grid表格控件的前提。哪 位朋友,有时间的话,我把源码(js+ajax+asp)发出来,后台是用asp 写的json数据。大家帮忙看看是否写得合适。测试倒时没问题,渲染一千条后台的数据,大致花3秒时间。但内存释放或泄漏是否有问题。