Javascript原型,__ proto__

时间:2015-12-03 13:47:35

标签: javascript prototype

当我执行以下java脚本代码时,我在" v.dummy();"请告诉我,我在哪里做错了。

    function Test()
    {

    }

    Test.prototype.foo = function () {
        console.log('foo');
    }

    var v = new Test();

    v.foo();

    v.__proto__ = function dummy() {
        console.log('__proto__'); 
    };

    v.dummy(); // Uncaught TypeError: v.dummy is not a function

2 个答案:

答案 0 :(得分:1)

__proto__只是对象的引用

IMG

你不能使它等于一个新功能,但你可以这样做:

v.__proto__.foo = function dummy(){}

答案 1 :(得分:0)

我不知道你要做什么,但是:

1)当您为变量分配函数时,您可以省略名称(dummy)并使用匿名函数(没有名称)。在这种情况下,函数名称是无用的。 如果你这样做

var x = function y(){ ... }

你可以这样称呼它:x(),而不是 y()

2)__proto__应该是一个对象,而不是一个函数

foo的使用是正确的,因此可行。

你可能想考虑阅读一本好的JS书。