Control.prototype.initialize.apply(this, [options]);这句代码是什么意思
他和Control.initialize.apply(this, [options]);有什么区别
另外apply这里是什么作用initialize是Control的一个方法

解决方案 »

  1.   

    应用某一对象的一个方法,用另一个对象替换当前对象。apply([thisObj[,argArray]])
    参数
    thisObj 
    可选项。将被用作当前对象的对象。 
    argArray 
    可选项。将被传递给该函数的参数数组。 
    说明
    如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。
      

  2.   

    例如<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
        <script language="javascript" type="text/javascript">
            function ShowMe() {
                document.write(this.name);
                //当执行下面的 ShowMe.apply(obj);时,这里的this相当于obj
            }        var obj = { name: "一个对象" };        ShowMe.apply(obj);
        </script>
    </body>
    </html>
      

  3.   

    Control = {
        initialize:function(a,b){
            alert(a+':'+b+':'+this.a);
        }
    };
    var a="c";
    Control.initialize.apply(window, ['a','b']);
    运行一下,你就知道了
      

  4.   

    Control.prototype.initialize.apply(this, [options]);这句代码不知道是什么意思
      

  5.   


    function A()
    {
        
    }
    A.prototype.methoda = function()
    {
        alert(1);
    }var b = new A();
    b.methoda.apply(null,[]);//这里运行原生的methoda
    b.methoda = function()
    {
        alert(2);
    }//methoda被覆盖
    A.prototype.methoda.apply(null,[]);//执行原生的方法
    b.methoda.apply(null,[]);//执行覆盖的方法
    至于apply可以参见我的博文中的相关描述
    http://blog.csdn.net/reedseutozte/archive/2010/03/13/5375876.aspx
      

  6.   

    javasript 的一种定义吧
      

  7.   

    原来高手都在JAVA板块啊
    http://topic.csdn.net/u/20100323/10/99a82599-84b1-4f89-b454-212c34378191.html?19557这个谁帮忙翻译一下,送200分
      

  8.   

    Control.prototype.initialize
    Control.initialize
    不同之处在于内存存放的地方不一样。Control.prototype类似于模板,所有对象只生成一个方法实例
    而不带prototype的方法则每个对象自己生成一个方法实例至于apply的用法楼上已经说得很清楚了。完成的功能主要是在
    new Control的时候,自动调用initialize方法比如new Control(1, 2, 3);
    那么构造函数就可以这么写,initialize : function(a, b, c) {
    这个时候,a=1,b=2,c=3
    }我曾经实现过一个javascript的继承模型。甚至调用父类构造方法
    代码你可以看看
    http://rainsilence.javaeye.com/admin/blogs/604418
    参照下