(function).prototype是如何工作的?

时间:2015-01-17 04:18:36

标签: prototype javascript

我正在阅读How to Make a Javascript Library,我遇到了作者所说的一点:

    function _() {
        //Some obects and variables and junk. . .
}

_.prototype = {
    //some code. . .
    myFunction: function() {
        //Bla bla bla. . .
    }
}

我想知道它是如何工作的,以及它的作用。我知道它创建了_.myFunction()的命令,但我不明白如何。我想知道它是否是唯一的方法,如果它需要在某处包含其他一些全局变量。

提前致谢!

编辑:试验这是如何工作的,我发现了以下内容:

function _$() {
    //Bla bla bla. . . 
}
_$.prototype {
    myFunc: function(foo) {
        return foo;
    }
}

然后,当我致电_$.myFunc时,我得到:Unkown Syntax error: myFunc is not a function 正如费利克斯金所说,它不可用。任何人都可以告诉我原因,以及如何通过myFunc

使我设置的_$.myFunc(null);功能可以访问

2 个答案:

答案 0 :(得分:2)

此处正在修改对象_.prototype的{​​{1}}属性。您可以阅读有关_修改/方法添加here的更多信息。

  

将属性或方法添加到对象的prototype属性中   class使这些项立即可用于其中的所有对象   class,即使这些对象是在原型之前创建的   财产被修改。

答案 1 :(得分:1)

我有我想要做的事情。 Prototype只是对象内部的对象类型,请参考this

第二部分,我试图做的是设置_$.function(args)可访问的内容 通过expierements发现的方法是:

var _$ = function() {
    //args and variables etc. . .
};
_$.myFunc = function(args) {
    return args;
}

然后,_$.myFunc(5)返回:5