老师,我实际有个问题困惑了很久

老师,我实际有个问题困惑了很久

为什么要把这些闭包的函数设置在Msg的原型链上啊。?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕慕子 2020-08-03 10:48:22

同学你好,是指为什么要将如下方法定义到Msg原型对象上吗?

http://img1.sycdn.imooc.com//climg/5f277a040992f04408480330.jpg

如果是这样的话,那么需要注意的一点,同学不要被迷惑了,(function(window,document){})(window,document)这种写法,相当于定义了一个匿名自执行函数,将全局对象window和document作为参数传入,提高代码的运行效率。因为将它们作为参数传入,使用这两个对象时,在当前函数作用域就可以直接找到,就不用沿着作用域链,向全局作用域去查找这两个对象了。

所以实际上老师就是使用构造函数的方式书写代码,因为这些方法可以理解是公共的,所以添加原型对象上,方便实例化对象访问。

如果不是指这里,可以图文结合详细描述下具体指的是哪里,便于帮助同学准确的定位与解决问题,祝学习愉快~


  • 提问者 Darkholme #1
    这样写在Msg原型链是不是就可以在function(window,document)这个函数外面调用Msg的原型链上的这些函数了?,不写prototype就只能在那个函数内调用?
    2020-08-03 10:58:55
  • 好帮手慕慕子 回复 提问者 Darkholme #2
    同学你好,是的,可以这么理解,祝学习愉快~
    2020-08-03 12:00:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师