這是一個vbscript代碼。請解決這個問題,並給我理由。請解釋並解釋
a = 10
b =10
c = empty
d= empty
Msgbox a=b=c=d
預期結果False。 實際結果爲真。請解釋一下。
問候 克里希南
這是一個vbscript代碼。請解決這個問題,並給我理由。請解釋並解釋
a = 10
b =10
c = empty
d= empty
Msgbox a=b=c=d
預期結果False。 實際結果爲真。請解釋一下。
問候 克里希南
你可以考慮使用這樣的嘗試什麼:
a = 10
b =10
c = empty
d= empty
Msgbox a=b AND a=c AND a=d
我認爲這是你的代碼引起的分配,而不是一個比較。即使VBScript對兩者都使用=符號,分配將始終返回true。
所有比較運算符都從左到右進行評估,並具有相同的優先級。這裏的問題是「empty = false」。如果你想檢查一個var是否真的是空的,你必須使用isEmpty函數。在邏輯比較中empty = false。
人體工程學的表達式進行求值:
1. a=b [true]
2. (a=b)=c [false] because c is empty and false
3. ((a=b)=c)=d because d is false and 2. is false
埃爾戈假=假是真的;-)
嗨。這次真是萬分感謝。我只是懷疑它是如何在空值和布爾值之間進行比較的。謝謝你 – Krishiyers
@ user2906636如果這個答案是最有用的答案,接受它,所以答案被標記爲「回答」,尊重點:-)被授予。 – TheBlastOne
號含有「等於」總是登錄表達式是在VBScript的比較。 – TheBlastOne