前端学习笔记之面向对象
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论