老师 person是不存在的变量

老师 person是不存在的变量

4-7选择题    老师  person是不存在的变量,它为什么能转化为true?

正在回答

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

2回答

window.person = 'xm'的返回值是‘xm’字符串,转化为布尔值为true,所以输出结果为‘xm’。

  • 慕运维2135045 提问者 #1
    老师,person || (person="xm"),这个前面的person是如何转化为true的
    2018-11-14 15:03:18
  • 好帮手慕星星 回复 提问者 慕运维2135045 #2
    直接输出person是报错的,语句就不对,没有办法转化。 直接输出person='xm'是可以的,结果为'xm'转化为布尔值为true。但是这两个放在了同一个输出语句中,前面是报错的,所以整条语句就是报错的。
    2018-11-14 15:57:17
  • 慕运维2135045 提问者 回复 好帮手慕星星 #3
    好的,我知道了,老师
    2018-11-14 16:28:10
好帮手慕星星 2018-11-14 13:53:08

1、不存在的变量或函数会报错,所以第一个输出会报错:person未定义。

2、不存在的属性或方法,返回undefined,所以window.person返回的是undefined,而||是短路操作,前面转化为false,会继续向后转化,window.person='xm'进行了赋值,转化为true,返回的结果为‘xm’,所以最后输出的结果就是'xm'。

祝学习愉快!


  • 提问者 慕运维2135045 #1
    我的意思是person为什么会成功转化为TRUE,后面的都理解了
    2018-11-14 14:29:07
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

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

在线咨询

领取优惠

免费试听

领取大纲

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