求JS大神给解释下一句简单的代码!


https://img1.mukewang.com/5bd928ba000199cc08240149.jpg

这段代码 难道不是返回布尔值类型?

为什么会返回一个对象?

 

在java或net里面 || 是返回布尔类型的

 

我记得要返回对象 需要这么用

 

https://img3.mukewang.com/5bd928c50001ae2c09310088.jpg

因为 我记得我看JS书的时候 在进行bool计算的 任何对象都会转出bool类型
document.head 会被转换 Boolean(document.head) 应该返回bool值才对啊

 

还望大神给解释下!


海绵宝宝撒
浏览 655回答 3
3回答

HUH函数

在JS里面不一样,你这句话的意思是如果“document.head”不为空,就讲document.head赋值给head,如果空就是将后面的赋值给head。换个简单例子:var aa=null;var b=aa||{};经常通过这样的方式防止变量aa为空(数组是“||[]”),如果作为判断条件是true。如果是if(document.head){alert( '1');}else{alert('2');},这种进行bool判断的时候是作为bool返回

心有法竹

由&& 或者||运算符产生的值不是必须为Boolean类型,产生的值始终为两个运算表达式的结果之一。  产生式 LogicalANDExpression : LogicalANDExpression && BitwiseORExpression 按照下面的过程执行 :令 lref 为解释执行 LogicalANDExpression 的结果 .令 lval 为 GetValue(lref).如果 ToBoolean(lval) 为 false ,返回 lval.令 rref 为解释执行 BitwiseORExpression 的结果 .返回 GetValue(rref). 产生式 LogicalORExpression : LogicalORExpression || LogicalANDExpression 按照下面的过程执行 :令 lref 为解释执行 LogicalORExpression 的结果 .令 lval 为 GetValue(lref).如果 ToBoolean(lval) 为 true ,返回 lval.令 rref 为解释执行 LogicalANDExpression 的结果 .返回 GetValue(rref).
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery