采用prototype原型添加方法出错,不知道为什么.

sinat_37982018 2017-07-25 01:06:37

// 创建 addMethods 方法用来给新建对象添加方法
var f = function () { };
f.prototype.addMethods = function (name, fn) {
this.prototype[name] = fn;
};
// 创建新对象 f_a
var f_a = new f();
// 添加date方法
f_a.addMethods('date', function () {
alert('日期')
});
// 出错:提示prototype 不存在. 为什么呢? 不是每个对象都有prototype吗
...全文
212 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
改天换地 2017-07-29
  • 打赏
  • 举报
回复
是每个构造函数都具有一个名为prototype的方法,每个对象都具有一个名为__proto__的属性 f.prototype.addMethods = function (name, fn) { this[name] = fn; };
似梦飞花 2017-07-25
  • 打赏
  • 举报
回复

f.prototype.addMethods = function (name, fn) {
        this.constructor.prototype[name] = fn;
    };
  • 打赏
  • 举报
回复
给f加
    f.prototype.addMethods = function (name, fn) {
        f.prototype[name] = fn;
    };

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧