前端学习笔记之面向对象

发布于 2021-11-28 09:48:15 字数 889 浏览 1122 评论 0

call/apply/bind

var f = function(){
    alert(this.name);
    return f;
};

f();
f.call({name: 'a'});
f.call({name: 'a'}).call({name: 'b'});

var f1 = f.bind({name: 'c'});

f1();
f1.call({name: 'd'});
f1.call({name: 'd'}).call({name: 'e'});

var f2 = f1.bind({name: 'f'});

f2();
f2.call({name: 'g'});
f2.call({name: 'g'}).call({name: 'h'});

手动实现 bind

尽可能与 Function.prototype.bind 保持一致。

实现构造函数的继承

var People = function(){};
var Father = function(){};

// Father 继承 People
inherit(Father, People);

为什么要进行 JS 模块化

  • 方便多人协作开发
  • 可以复用
  • 更好的依赖管理
  • 防止互相污染
  • 更好的插拔
  • 便于测试

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
832 人气
更多

推荐作者

醉城メ夜风

文章 0 评论 0

远昼

文章 0 评论 0

平生欢

文章 0 评论 0

微凉

文章 0 评论 0

Honwey

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文