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

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

關(guān)于js的判斷==中 常量前置的問題

關(guān)于js的判斷==中 常量前置的問題

翻翻過去那場雪 2019-04-13 08:37:18
一般寫判斷的時候都是typeofx=="undefined"但是有個十幾年工作經(jīng)驗的老碼農(nóng)用了下面的寫法,完全看不懂其中的意義結(jié)果都是一樣的,這么寫的區(qū)別到底在哪里"undefined"==typeofx
查看完整描述

2 回答

?
慕桂英546537

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

這個貌似是Java帶來的習慣,因為Java在比較兩個對象是否一致的時候,不是用==而是用.equals,以比較字符串為例
publicbooleantest(Strings){
return"hello".equals(s);
//returns.equals("hello");
}
有沒有發(fā)現(xiàn)第2句(注釋掉那句)的問題?——如果s是null,它會拋NullPointerException,但是第1句就不會。
對于其它可以使用==來進行比較的語言來說,常量前置沒有多大意義。
順便,有另一種說明,和測試思想有關(guān)。就是,把想要的放在前面,參與比較的放在后面,比如一般比較函數(shù)都會定義成equals(exprect,value)。
各種語言都在解決null判斷的問題,比如C#6.0就提供了判空語句,比如
//C#6.0
publicboolTest(strings){
returns?.Equals("hello")??false;
}
等同于
//C#5.0
publicboolTest(strings){
returns==null?false:s.Equals("hello");
}
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關(guān)注
  • 587 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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