JavaScript原型委托功能

这个问题在这里已经有了答案:

  • JavaScript .prototype如何工作? 21个答案

  • 你有一个构造函数,它的原型中有m

    var func = function (){};
    func.prototype = {m:9};
    
    console.log( func.prototype.m ); // That logs 9
    

    原型不是分配给函数本身,而是分配给由此函数创建的实例:

    var f = new func();
    
    console.log( f.m ); // That also logs 9
    

    这是你的m是。

    为此还记录9

    func.m
    

    你必须在Function.prototypem ,因为func的原型是Function

    Function.prototype.m = 9;
    
    console.log( func.m ); // Logs 9
    

    通过做func.prototype = {m:9}; ,你正在将你的func变量的'prototype'属性设置为{m:9}

    当你调用func.m ,你尝试访问你以前从未设置过的func变量的'm'属性。

    相反,您先前设置了对象func.prototype的'm'属性。

    如果你想从你的变量func设置属性'm',只需做func.m = 9;

    链接地址: http://www.djcxy.com/p/30085.html

    上一篇: JavaScript prototype delegation in function

    下一篇: Add value using prototype in function instance