4-2疑问

4-2疑问

问题描述:

图1为什么不是undefined呢,而是产生全局变量

图2没有return却是undefined

https://img1.sycdn.imooc.com//climg/6163f145099f8c1f06410450.jpghttps://img1.sycdn.imooc.com//climg/6163f1b209083af506940760.jpg

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

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

1回答
好帮手慕慕子 2021-10-11 16:54:33

同学你好,问题解答如下:

1、图一中的代码,不使用new调用People,函数调用后的返回结果也是undefined。如下:

https://img1.sycdn.imooc.com//climg/6163fa3c0949686707990361.jpg

视频中老师提到的是会产生全局变量,而不是局部变量。因为直接添加圆括号调用People时,函数内部的this指向全局对象window,那么相当于给全局对象widnow添加了name、age等属性,而添加到window对象上的属性可以在全局中访问,也可以称之为全局变量。

示例:在调用People后,可以在函数外通过window.name或name的方式访问。

https://img1.sycdn.imooc.com//climg/6163fb7a091f778010280494.jpg

2、因为函数中没有设置return时,默认return返回结果是undefined。

祝学习愉快~

  • 提问者 从不学习 #1
    2,return也是undefined?
    2021-10-11 20:44:52
  • 好帮手慕久久 回复 提问者 从不学习 #2

    同学你好,如果函数中使用了return设置返回值,则返回值就是return后面的内容,不一定是undefined,如下:

    示例1:return后面的内容不是undefined

    https://img1.sycdn.imooc.com//climg/616519f2098b9f7005490285.jpg

    https://img1.sycdn.imooc.com//climg/616519f609299aa405100114.jpg

    示例2:return后面的内容直接写成了undefined,那么会得到undefined,例如:

    https://img1.sycdn.imooc.com//climg/61651a36090e26df05720283.jpg

    https://img1.sycdn.imooc.com//climg/61651a3b09e02a1005120122.jpg

    示例3:return后面的内容,计算结果是undefined,也会得到undefined:

    https://img1.sycdn.imooc.com//climg/61651acc095a6c4107560299.jpg

    https://img1.sycdn.imooc.com//climg/61651ad009b07c1804640134.jpg

    祝学习愉快!​

    2021-10-12 13:19:38
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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