javascript:Boolean数据类型怪异情况

    技术2026-08-14  27

    先看两段代码:

    <script> var oFalseObject = new Boolean(false); var bResult = oFalseObject && true; var cResult = true && oFalseObject;

     alert(oFalseObject && true);                        //output: true alert(bResult+"~~"+cResult);                      //output: true~~false</script><script> var obj={};

     alert(obj && true);                                      //output: true alert(true && obj);                                      //output:[object object]</script>

     

    这里有疑问,oFalseObject && true 怎么可能是true??? obj 不是boolean类型的怎么可以用&&?

    解释:javascript中 ,在Boolean表达式中,如果第一个是对象类型(不管任何对象类型,包括Boolean对象)的都会被自动转换为true。

     

     

    最新回复(0)