摘要:眾所周知,是弱類型的語言。因此在一些不注意的地方容易犯錯誤。通過得到這兩個值,是字符串類型的數(shù)字,很顯然返回之前已經(jīng)了。反思雖然寫的是弱類型的,但是在有明確類型的情況下,最好還是轉(zhuǎn)換成對應(yīng)的類型進行比較。
眾所周知,js是弱類型的語言。因此在一些不注意的地方容易犯錯誤。在此記錄一下前幾天寫代碼的時候,判斷兩個值相比較的結(jié)果來進行下一步的操作。通過ajax得到這兩個值,是字符串類型的數(shù)字,很顯然返回之前已經(jīng)toString()了。當時做比較的時候我也沒有多想,我以為這兩個值會自動轉(zhuǎn)換成number類型來比較,結(jié)果就悲劇了。
代碼如下
if(a>=b){ .... } //實際執(zhí)行結(jié)果是 if("5">="10"){ .... } //結(jié)果值是 true
發(fā)現(xiàn)這個bug后,我馬上更新了代碼進行了to number操作,其實也很簡單,對于明確的由number to string的值,只要進行 a = a*1;這樣的操作就可以了。
疑問來了雖然bug很快就被解決了,但是我卻陷入了思考,為什么"5">"10"呢?
開始實驗、猜測我又測試了"5">"6","5">"11"等等,然后發(fā)現(xiàn)了規(guī)律,這兩個值比較是依賴于字符串的第一個值的大小。
接下來我又驗證了英文字母、漢字之間的相互比較,很快就有了猜測方向,很可能是根據(jù)ASCII值來進行比較的。然后就下班溜了。。。
今天查了一下資料,講的很清楚小議js下字符串比較大小
一句話概括就是按照字典序進行對比。
反思雖然寫的是弱類型的js,但是在有明確類型的情況下,最好還是轉(zhuǎn)換成對應(yīng)的類型進行比較。
早點上TypeScript的車吧
誰有TypeScript + React 相關(guān)資料麻煩分享一下,謝謝啦
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/105398.html
let和const let和const兩者并不存在變量提升 這里要說明的是變量一定要在聲明后使用,否則報錯?! ara=[]; for(vari=0;i<10;i++){ a[i]=function(){ console.log(i); }; } a[6]();//10 變量i是var聲明的,我們要知道這里在全局范圍內(nèi)都有效。我們要知道在每一次循環(huán)中,新的...
小編寫這篇文章的主要目的,主要是給大家去進行講解Django項目實例情況,包括celery的一些具體使用情況介紹,學習這些的話,對我們的工作和生活幫助還是很大的,但是怎么樣才能夠更快的進行上手呢?下面就一個具體實例給大家進行解答?! ?、django應(yīng)用Celery django框架請求/響應(yīng)的過程是同步的,框架本身無法實現(xiàn)異步響應(yīng)。 但是我們在項目過程中會經(jīng)常會遇到一些耗時的任務(wù),比如:...
之前也有和大家講過有關(guān)JS的對象創(chuàng)建和對象繼承,本篇文章主要為大家做個匯總和梳理?! S中其實就是原型鏈繼承和構(gòu)造函數(shù)繼承的毛病,還有就是工廠、構(gòu)造、原型設(shè)計模式與JS繼承。 JS高級程序設(shè)計4:class繼承的重點,不只是簡簡單單的語法而已?! ο髣?chuàng)建 不難發(fā)現(xiàn),每一篇都離不開工廠、構(gòu)造、原型這3種設(shè)計模式中的至少其一! 那JS為什么非要用到這種3種設(shè)計模式了呢?? 我們先從對...
在過往學習的JavaScript都是在基礎(chǔ),現(xiàn)在為大家介紹更為深入的JavaScript知識?! avaScript函數(shù) JavaScript函數(shù)和Java函數(shù)是有一部分相似的,所以學習起來也會相對簡單 基本構(gòu)造 1.直接構(gòu)造 //function代表函數(shù)標志,name為函數(shù)名稱,參數(shù)可有可無 functionname(參數(shù)){ //... return; } 2....
閱讀 3706·2023-04-26 00:05
閱讀 1085·2021-11-11 16:55
閱讀 3756·2021-09-26 09:46
閱讀 3659·2019-08-30 15:56
閱讀 997·2019-08-30 15:55
閱讀 3008·2019-08-30 15:53
閱讀 2062·2019-08-29 17:11
閱讀 888·2019-08-29 16:52