为了账号安全,请及时绑定邮箱和手机立即绑定

阿当大话西游之WEB组件

阿当 其它
难度中级
时长 3小时 0分
学习人数
综合评分9.87
83人评价 查看评价
10.0 内容实用
9.8 简洁易懂
9.8 逻辑清晰

最赞回答 / botao555
在你的代码里用下面的代码包裹下, $(document).ready(function(){})
css命名空间是啥?

最新回答 / dellajie
这问题咋老是弹出来,我也是醉了
js里面,类是通过function来实现
楼下说的不要说的太隐晦嘛,大声告诉大家,在function Window(){}中调用widget构造函数
function Window(){widget.Widget.call(this);} ,这样就把handlers属性绑定在构造的对象中,根据原型链的访问顺序,原型上的handlers就相当于被重载了。这样每次单击a的时候(也就是new win的时候)都会重新生成一个handlers!恩 没错 就是这样
看了一小半来评论的,这个标题有点不显眼,差点错过。老师讲的非常好,应该算是慕课里最好的课程了。
学会了 阿当的教学方法 真细致入微
感谢阿当老师,真的讲的好仔细,希望能出后续的课程~
豁然开朗的感觉。谢谢阿当老师。
播放不出来
按照J高程上说的方法,可以在Window类的构造函数内,调用Widget构造函数,这样“this.handlers = {};”执行下来就会给Window类实例增加一个属性handlers,而且是这个实例独有的,不是共享的。而Widget的pototype里的方法,还是照旧extend到Window的prototype里,每个实例共享这些方法。这样就不会出现handlers内事件翻倍的问题了
Window从Widget继承来的on方法和fire方法和handlers属性都放在了Window.prototype里,也就是说Window类的实例全部共享on方法、fire方法,和handlers属性。评论里说的清空handlers属性只能解决一部分问题,但是只要页面里有多个,或者有过多个Window类的实例,就会存在handlers内保存的数据有问题的情况。《Javascript高级程序设计》里有讲到这个问题,我看到的比较合理的解决办法叫做“组合继承”,在6.3.3章节。
讲的真是太好了

最赞回答 / 作死的花生酱
on、fire都是window对象的方法。this指向什么,要根据上下文来判断,this指向的东西并不是不变的。调用on方法的时候,按当时的上下文,this指向的是window对象。可以直接this.on这么调用。到了要使用fire方法的时候,是在click(function(){  ……  })里边了,一个作为参数的无名函数里边。在这个函数里,this指向的不是window,所以你没法直接this.fire这样调用。
迄今为止在慕课上看到的最好的教程
听完阿当老师讲的这个课,对模块化的理解清晰了好多,讲得太好了!
课程须知
1.您具备一定的CSS和JS基础。 2.熟悉jQuery。
老师告诉你能学到什么?
1.模块化 2.自定义事件 3.定制皮肤 4.面向对象编程 5.抽象类的作用 6.参数设计 7.语法封装 8.如何提高可读性 9.如何提高扩展性 10.如何提高重用性 11.如何提高易用性

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消