亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

if(open1==ture)和if(open1="ture")和if(open1)在下面代碼中的表現?

可以發現

if(open1==ture)和if(open1)效果是等同的,而if(open1="ture")貌似是錯誤的表達。有大神幫忙解釋下嗎?

<!DOCTYPE html>

<html>

?<head>

? <title> new document </title> ?

? <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> ??

? <script type="text/javascript"> ?

? ??

function openWindow()


{


? ? ? ? var open1 = confirm('really open?');


? ? ? ? if (open1 ==true)


? ? ? ? {


? ? ? ? var open2 = prompt('open what?','http://www.xianlaiwan.cn');


? ? ? ? window.open(open2,'_blank','width=400,height=500,toolbar=no,menubar=no')


? ? ? ? }


? ? ?else

? ? ?{ }


}

? </script>?

?</head>?

?<body>?

? ? ? <input type="button" value="新窗口打開網站" onclick="openWindow()" />?

?</body>

</html>



正在回答

4 回答

if的判斷條件是一個布爾值

1:????open1 == true????是一個判斷 返回一個布爾值 如果confirm點是 他就等價于 true === true

2:????open1????這個值是你的confirm的返回值 你點否 他就是false 點是 他就是true?

注意 所以可以看出上面兩個是等價的

然后加點好玩的

3:????open1 == false????也是一個判斷 返回一個布爾值 通過和式1對比 他的結果 和上面兩個相反

4:????open1 = true????這就是一個賦值語句了 結束后open1值為true 所以條件恒成立

5:????open1 = false????和式4類似 open1值為false 條件恒不成立

然后才是正經的

6:????open1 = "true"????大部分語言認為非零值都是true 所以這個結果open1值為字符串"true" 條件恒成立

7:????open1 = "false"????所以這個結果open1值為字符串"false" 條件恒成立

8:????open1 = 10????類似的 這個也會是條件恒成立

9:????open1 = 0????重點來了 這個會使條件恒不成立???

好吧 其實這些都是不正經的

正經的是 因為一些歷史原因才會有"=","=="的人類語言語義歧義

所以 為了保險 很多語言建議我們

????????把變量放在右側 比如 true == open1 因為 在誤寫成 true = open1 是 他會因為不符合語法規范直接掛掉 所以可以及時的把問題暴露出來

?

0 回復 有任何疑惑可以回復我~
#1

bblade 提問者

完全幫到我了 ,謝謝
2016-04-11 回復 有任何疑惑可以回復我~

="ture",變量就成了4個字節。新手,答錯別罵我

0 回復 有任何疑惑可以回復我~

open1==ture

是等于,而

open1=“ture”

表示賦值,不能用在if語句里面

if(open1)

默認表示open1==true

0 回復 有任何疑惑可以回復我~

=是賦值語句??? ==才是等于

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

if(open1==ture)和if(open1="ture")和if(open1)在下面代碼中的表現?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號