第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

<boolean expression> && statement()與if

<boolean expression> && statement()與if

慕妹3146593 2019-11-04 12:39:32
兩者相同嗎?假設(shè)您有:var x = true;然后,您可以選擇以下任意一種:x && doSomething();要么if(x) doSomething();兩種語法之間有什么區(qū)別嗎?我偶然發(fā)現(xiàn)了很多糖嗎?JavaScript 語法 if-statement 布爾 語法糖
查看完整描述

3 回答

?
慕后森

TA貢獻1802條經(jīng)驗 獲得超5個贊

嚴(yán)格來說,它們將產(chǎn)生相同的結(jié)果,但是如果將前一種情況用作其他條件的條件,則會得到不同的結(jié)果。這是因為在的情況下x && doSomething(),doSomething()將返回一個值以表示其成功。


查看完整回答
反對 回復(fù) 2019-11-04
?
浮云間

TA貢獻1829條經(jīng)驗 獲得超4個贊

不,它們不相同。雖然if是語句,但AND運算符是表達式。


這意味著您可以將其結(jié)果用于其他表達式,而if語句則不能:


var result = x && doSomething();

但是,在您的情況下,兩者具有相同的效果。使用更具可讀性并更好地表示程序結(jié)構(gòu)的代碼;我建議使用if語句。


查看完整回答
反對 回復(fù) 2019-11-04
?
四季花海

TA貢獻1811條經(jīng)驗 獲得超5個贊

簡短答案:不可以。

長答案:

@Steve的A x && doSomething()是一個表達式,


而是if(x) doSomething();一個聲明,


正如@Daniel Li和@Bergi所建議的那樣,請考慮:


計算一個表達式(應(yīng)該在這里返回一個值)。


聲明了一條語句(不應(yīng)該在這里返回值,請考慮副作用)。


為什么令人困惑?

JS允許我們寫 ( thatExpression );

JS允許我們寫 thatExpression;

兩者都假設(shè)某種doNothingWithValueOf陳述。


如何選擇?

您是否使用:


doSomething() 作為一個

表達,認(rèn)為IsMyObjectWhatever()或者MyObjectComputedValue(),

或聲明,認(rèn)為 ModifyMyObject()

然后:您是否將其x && doSomething()用作表達式?


您最終會想到thisStatement( thatExpression );無處不在的想法,請考慮:


() 表達,

; 聲明。

那我為什么要選擇呢?

顯而易見的是“它有效”。不代表“正確”。

如果不太明顯,那么何時會有所作為:


只是認(rèn)為()(()())()(); 可以是 對的,(;) 是 錯的。

檢查@wwaawaw Javascript:語句和表達式之間的區(qū)別?

或Expressions-vs-statements由Axel Rauschmayer發(fā)布


查看完整回答
反對 回復(fù) 2019-11-04
  • 3 回答
  • 0 關(guān)注
  • 586 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號