为什么第三个就是female了

为什么第三个就是female了

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

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

2回答
好帮手慕言 2019-10-25 10:09:25

同学你好,第二个之所以是undefined,是因为setSex方法没有设置返回值,如果没有设置返回值,默认会返回undefined。

如果按照下方修改,那么第二个就会返回设置的值(也就是1)。

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

控制台:
http://img1.sycdn.imooc.com//climg/5db2588909bcfbb105070198.jpg

如果同学对返回值不了解,可以去复习一下视频哦,视频链接:https://class.imooc.com/lesson/770#mid=19286。前面的知识是为后面的知识做铺垫的,要好好掌握哦

另外为了高效的为同学解答,如果还有其他疑问,可以新建问题进行提问哦。

如果帮助到了你,欢迎采纳~祝学习愉快~

好帮手慕夭夭 2019-10-24 13:56:01

你好同学,是说的5分18秒左右的如下第三个输出吗?

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

这是因为第二个输出中,调用了add的setSex方法,这个方法中定义了sex属性,并赋值为“famale”。this指向函数的调用者,即setSex是add调用的,所以这个sex就是add的属性,即add的sex就改变成了“famale”,所以第三次调用会输出这个属性值哦。

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

祝学习愉快,望采纳。

  • 提问者 Ting111 #1
    那为什么第二个是undefined
    2019-10-25 07:54:36
  • 慕工程0025061 回复 提问者 Ting111 #2
    这样子理解吧,第二个是打印传了参数的setSex中的函数,但是没有返回值,所以是undefinde值,第三个是打印它属性名,并不是调用它的函数,但是属性名在第二给打印传了是female,所以第三个打印的是female,我是这样子去理解的
    2019-11-14 01:08:33
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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