老师我想问下这2种有什么区别

正在回答

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

4回答

同学你好,区别:添加在原型上是有好处的,即:原型上的方法是共享的,多次实例化对象的时候不会重复创建,节省内存。而直接添加在Dropdown方法中,是没有节省内存这个好处的。

如果对于这块内容掌握的不够深刻的话,建议回顾一下js面向对象那一块的知识点。

祝学习愉快~

好帮手慕码 2020-07-06 09:34:02

同学你好,是添加在Dropdown这个方法中。可以打印Dropdown看下:

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

打印结果:

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

即:

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

祝学习愉快~

  • 提问者 陈立天 #1
    我的意思是 不太明白添加在Dropdown这个方法中 和添加到这个方法的原型链prototype有什么区别?这两者
    2020-07-06 14:08:31
好帮手慕码 2020-07-05 18:57:52

同学你好,解答如下:

1、区别是第一种写法是把_init方法添加在原型上,即Dropdown.prototype。

2、是可以调用的。可以做如下测试:

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

效果:

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

可以正常调用。同学可以自己试一下。

祝学习愉快~

  • 提问者 陈立天 #1
    第一种写法是写在原型链上,那第二种是在什么上?
    2020-07-05 19:28:44
提问者 陈立天 2020-07-05 18:30:19

还有一个问题:

这个是dropdown.js文件下 调用showHide.js的showHide。 这是两个分开的js文件 是如何能调用联系起来的?

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

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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