null特殊转换,求赐教+null//0null==0//falsenull>0//falsenull=0//true!!null//falsenull==false//falsenull==true//falsenull>=false//true
2 回答
catspeake
TA贡献1111条经验 获得超0个赞
你昨天问过了,我再回答一遍。+操作符,如果只有右边,那么就等于调用Nunber函数。==操作符,null只跟null和undefined相等,其余都不相等。!!强制转换为布尔值。在JavaScript中,undefined,null,false,+0,-0,NaN,''都可以被强制转换为false。使用<操作符,如果比较的一方不是数字,会调用Number函数,转换为数字;Number({valueOf:1})返回1Number(null)返回0Number(undefined)返回NaNNumber(false)返回0Number([])返回0Number('')返回0因此[]>false=>false,[]>null=>false[]>undefined=>false[]>''=>falsenull>0,null<0,这时候,null会被转换为数字,Number(null)为0,0不大于0,也不小于0;null>-1返回true,null>0.1返回false,很显然0>-1,0<0.1;null>false,相当于Number(null)>Number(false),0>0不成立,所以结果为false。JavaScript中,a<=b的结果是通过对(b因为null<0为false,因此null>=false结果为true。
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
null只会等于undefined即null==undefined是true外其他<>都会是false>=<=这种是取<>的反这块你可以看下你不知道的javascript里边有解释
添加回答
举报
0/150
提交
取消