Javascript prototype[name]和prototype.name之间有什么区别?

Javascript prototype[name]和prototype.name之间有什么区别?,javascript,Javascript,我正在读这本书的好部分,这里有一个例子 Function.prototype.method = function(name, func){ this.prototype[name] = func; // this.prototype.name = func; return this; }; Number.method("integer", function(){ return Math[this<0 ? "ceiling" : "floor"](this)

我正在读这本书的好部分,这里有一个例子

Function.prototype.method = function(name, func){
    this.prototype[name] = func;
    // this.prototype.name = func;
    return this;
};

Number.method("integer", function(){
    return Math[this<0 ? "ceiling" : "floor"](this);
});

document.writeln((10/3).integer());
我想是这样的。原型[name]=func;并且this.prototype.name=func;都是一样的,但似乎不是

当我在Chrome中运行注释掉的语句时,它显示了一个错误

未捕获类型错误:未定义不是函数

那么这句话有什么不对呢?是不是把func赋值给name了

谢谢你的表情

this.prototype.name = func;
为原型对象的name属性指定一个值。相比之下,这

this.prototype[name] = func;
为其名称由变量名的字符串值确定的属性指定一个值。不同的是,用一个简单的。引用时,标识符本身作为属性名。使用[],方括号内的表达式将被计算,并将其作为属性名称


请注意,您的integer方法仅在几行之后就显式地利用了该行为

准相关:天花板而非天花板。您好,我测试了铬天花板和天花板都正常工作,但还是谢谢