當jq1=numa>numb||numa;時,輸出的結果是50,不是布爾值
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html?xmlns="http://www.w3.org/1999/xhtml"> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>邏輯或</title> <script?type="text/javascript"> var?numa,numb,jq1; numa=50; numb=55; jq1=numa>numb||numa; document.write("jq1的值是:"+jq1+"<br>") </script> </head> <body> </body> </html>
jq1=numa>numb||numa;時,為什么輸出的結果是50,而不是布爾值,如果連判斷都不加的話:
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html?xmlns="http://www.w3.org/1999/xhtml"> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>邏輯或</title> <script?type="text/javascript"> var?numa,numb,jq1; numa=50; numb=55; jq1=numb||numa; document.write("jq1的值是:"+jq1+"<br>") </script> </head> <body> </body> </html>
輸出的是55
這是因為沒有給||加上條件,機器直接忽略了嗎?
2016-01-25
同學啊,你根本就沒理解到什么叫邏輯或,邏輯或就是第一為真的話就返回一,否則就返回二!
你的例子:
jq1=numa>numb||numa; ? ??
numa>numb為假,他自然就放回二也就是numa啊
jq1=numb||numa;
這個里面numb為真直接就返回numb了,你可以把numb改為負數試試!你就知道了!
2016-01-25
不好意思,說錯了,第二個例子里面你可以把numb改為0,null試試!也就是當numb為假時,他就會返回numa了!