老师 1-14 这个代码没有看懂 if里面没有执行任何行为 用口语怎么翻译这个题目?

老师 1-14 这个代码没有看懂 if里面没有执行任何行为 用口语怎么翻译这个题目?

正在回答

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

2回答

你好同学 ,并不是莫名其妙的转换 .这就是js代码存在的一种转换形式 , 叫做隐式转换 . 

隐式转换就是我们看不到的 , js自己去进行的转换 . 那么什么情况下会进行转换呢 . 例如如下:

逻辑与去判断两个操作数 , 如果这两个操作数返回的类型都是true , 那么就默认返回第二个操作数 .这个是逻辑与的规则 . 

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

所以根据这个规则 , js在进行判断时 , 就会把"hello" 和 1转换为布尔类型 , 这个转换过程是我们看不到的 , js自己去进行的 , 这就是隐式转换 . 如下转换两个操作数的过程 ,这个是我们看不到的 . 

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

所以像在if语句 ,while循环中 ,如果是一个表达式 ,就会自动转换数据类型去判断 . 

希望解答了你的疑惑 , 祝学习愉快 ! 望采纳 .

好帮手慕夭夭 2019-01-30 17:36:01

你好同学 ,不太明白描述的if里面没有执行任何行为具体说的是什么 .老师给你解释一下这个代码 ,看看能够解答你的疑惑 . 如果没有解决疑问 ,可以详细的描述一下你具体哪里不懂 .

if中的判断条件如果是一个表达式 , 表达式返回的结果隐式转换为布尔类型是true ,就会进入if里面的语句 ,如果是false  , 就不会进入if语句了 ,如果有esle , 会进入else . 例如如下:

逻辑或中只要有一个能够返回true  ,那么整个表达式返回的就是true , num1能够返回true ,所以if条件是可以进入的 , 弹出"hello"

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

祝学习愉快 ,望采纳 .

  • 提问者 Alvin24 #1
    if()括号里面仅仅是表达式 怎么就莫名其妙对其进行隐式转换为布尔类型了。
    2019-01-30 17:46:59
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

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

在线咨询

领取优惠

免费试听

领取大纲

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