此代码中Foo构造函数中未使用this.方法的函数

此代码中Foo构造函数中未使用this.方法的函数

https://img1.sycdn.imooc.com//climg/6466d92f090d5e5809340732.jpg

此代码中Foo构造函数中第一个函数getNum与this.getNum有什么区别,如何调用这两个方法?

正在回答

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

1回答

同学你好,f是Foo的实例,f.getNum()它是指调用实例上的方法。而getNum只是个函数,它其实与这个对象是没有多大关系的。那么两者区别一个需要用new去调用一个可以用正常的调用方式,但需要加return如下:

https://img1.sycdn.imooc.com//climg/6466dff009f5d53b04090315.jpg

但问题是如果这么调用this.getNum就没办法调用了。

所以不要这么写,不要这么写,不要这么写!!!构造函数就构造函数,普通函数就普通函数就可以了。

咱们体系课当前阶段后面有面向对象的课程 https://class.imooc.com/lesson/2124#mid=50538 同学可以到时在了解,如是复习阶段,那么可以再去温顾一下。 

祝学习愉快!

  • TKXZ 提问者 #1

    所以按老师所说,排除出试题外,这么写是不规范的,构造函数中的属性或方法前都要加上this.,才能发挥这个构造函数本身的作用

    2023-05-19 10:42:45
  • 好帮手慕小李 回复 提问者 TKXZ #2

    对没错,如果说是按照构造函数去定义的话,那咱们针对它就按照构造函数的方式去定义。千万别混着来。

    2023-05-19 10:44:07
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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