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

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

ParseInt與一元加-何時使用哪個

ParseInt與一元加-何時使用哪個

MMTTMM 2019-07-16 16:21:27
ParseInt與一元加-何時使用哪個這一行之間有什么區(qū)別:var a = parseInt("1", 10); // a === 1這條線var a = +"1"; // a === 1這,這個jsperf試驗顯示在當前的Chrome版本中,一元操作符的速度要快得多,假設(shè)它是針對node.js的?。咳绻以噲D轉(zhuǎn)換不是數(shù)字的字符串,則兩個字符串都返回NaN:var b = parseInt("test" 10); // b === NaNvar b = +"test"; // b === NaN那么我應該在什么時候使用parseInt超過一元加(特別是node.js)?編輯:與雙傾斜算子有什么區(qū)別?~~?
查看完整描述

3 回答

?
12345678_0001

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

請看這個答案更完整的案例




好吧,以下是我所知道的一些不同之處:

  • 空字符串""計算結(jié)果為0,同時parseInt評估為NaN..imo,空字符串應該是NaN.

    +'' === 0;              //trueisNaN(parseInt('',10)); //true
  • 一元+表現(xiàn)得更像parseFloat因為它也接受小數(shù)。

    parseInt另一方面,當它看到一個非數(shù)字字符時,它將停止解析,就像擬為小數(shù)點的句點一樣。..

    +'2.3' === 2.3;           //trueparseInt('2.3',10) === 2; //true
  • parseIntparseFloat解析并構(gòu)建字符串。從左到右..如果他們看到一個無效字符,它將已解析的內(nèi)容(如果有的話)返回為一個數(shù)字,以及NaN如果沒有被解析為一個數(shù)字。

    一元+另一方面又會回來NaN如果整個字符串不可轉(zhuǎn)換為一個數(shù)字。

    parseInt('2a',10) === 2; //trueparseFloat('2a') === 2;  //trueisNan(+'2a');           
     //true
  • 從…的評論中可以看出@Alex K.parseIntparseFloat將按字符解析。這意味著十六進制和指數(shù)符號將失敗,因為xe被視為非數(shù)字部件(至少在基礎(chǔ)10上)。

    一元+會正確地轉(zhuǎn)化他們。

    parseInt('2e3',10) === 2;  //true. This is supposed to be 2000+'2e3' === 2000;          
     //true. This one's correct.parseInt("0xf", 10) === 0; //true. This is supposed to be 15+'0xf' === 15;            
      //true. This one's correct.


查看完整回答
反對 回復 2019-07-16
?
largeQ

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

我相信這435的答案中的表格是全面的,但我們可以用以下模式進行總結(jié):

  • 一元加并不是對所有虛假的價值觀一視同仁,但它們都是假的。
  • 一元加發(fā)送

    true

    對1,但是

    "true"

    NaN.

  • 另一方面,

    parseInt

    對于非純數(shù)字的字符串,則更自由。

    parseInt('123abc') === 123

    ,鑒于

    +

    報告

    NaN.

  • Number

    將接受有效的十進制數(shù),而

    parseInt

    只要把所有的東西都降到十進制以上。因此

    parseInt

    模擬C行為,但對于評估用戶輸入可能并不理想。
  • 兩者都在字符串中修剪空格。
  • parseInt

    ,設(shè)計得很差

    解析器

    ,接受八進制和十六進制輸入。一元加只需要十六進制。

Falsy值轉(zhuǎn)換為Number下面是C語言中有意義的內(nèi)容:nullfalse都是零。""去0并不完全遵循這個慣例,但對我來說很有意義。

因此,我認為如果您正在驗證用戶輸入,一元加對于所有東西都有正確的行為,除了它可以接受小數(shù)(但在我的實際生活中,我更感興趣的是捕捉電子郵件輸入,而不是完全省略用戶ID,等等),而parseInt太自由了。


查看完整回答
反對 回復 2019-07-16
  • 3 回答
  • 0 關(guān)注
  • 460 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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