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

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

編寫正確的 If 語句的問題

編寫正確的 If 語句的問題

精慕HU 2022-06-09 10:40:43
我有一個頁面,它使用 URL 傳遞一些值以在另一個頁面上輸入標簽。我遇到的問題是,如果沒有傳遞任何值,那么undefined輸入標簽內就會有值。所以我試圖寫一個 if 語句:  if (params.name === undefined) {    input.value = '';  } else {    input.value = params.name;  }  if (params.surname === undefined) {    input.value = '';  } else {    input.value = params.surname;  }但正如您基于此所看到的,它僅適用于params.surname,當我params.name作為值傳遞時,輸入標簽是清晰的。有什么想法可以將它連接在一起,以便在輸入標簽內顯示兩個值嗎?
查看完整描述

4 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

用于在(如果存在則顯示)、(如果存在則顯示)或空字符串||之間交替:namesurname


input.value = params.name || params.surname || '';

params.name如果存在將被輸入。否則,params.surname如果存在則輸入。否則,它將被設置為空字符串。


如果屬性可以是空字符串,而不僅僅是undefined,并且您希望顯示空字符串(如果存在),那么請改用條件運算符:


input.value = params.name !== undefined

  ? params.name

  : params.surname !== undefined

    ? params.surname

    : '';


查看完整回答
反對 回復 2022-06-09
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

另一種方式,玩起來很有趣:


  const resolve = att => params[att]? params[att] : '';

  input.value = resolve('surname') || resolve('name');

因為surname比 具有更高的優先級name,所以在分配中,surname應該排在第一位。


如果你想要name并且surname兩者都存在:


  const resolve = att => params[att]? params[att] : '';

  input.value = resolve('surname') + resolve('name');


查看完整回答
反對 回復 2022-06-09
?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

另一種更具可讀性的方法可能是:


input.value = '';

if (params.name) input.value = params.name;

if (params.surname) input.value = params.surname;


查看完整回答
反對 回復 2022-06-09
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

if(!(params.name || params.surname)){

  input.value = '';

} else if(params.name) {

  input.value = params.name;

} else {

  input.value = params.surname;

}


查看完整回答
反對 回復 2022-06-09
  • 4 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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