最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript中使用parseInt函數需要注意的問題

 更新時間:2015年04月02日 10:38:28   投稿:junjie  
這篇文章主要介紹了Javascript中使用parseInt函數需要注意的問題,本文講解了parseInt函數在IE8下可能會返回0值的兼容問題解決方法,需要的朋友可以參考下

  前些天信用卡站點要接入一個新功能,不過還真比較坑爹,asp站點,大家都知道信用卡的背面是有一個有效期的,在對接銀行中這個信息一定是要傳給銀行做數據校驗,用戶在語音輸入信用卡有效期后,系統(tǒng)會做一個有效期判斷,為了不必要的麻煩,就是判斷過期時間一定不能在一個月內,由于輸入的年月日在三個文本框中,再加上我嫌轉成時間麻煩,就索性直接拿年,月,日的文本內容直接強轉成int類型來判斷,此為背景。

  說了這么多,終于說到文章主題了,我們知道有效期有這樣的:2015-09-20,我就毫不猶豫的從月文本框中拿出了"09",然后屁顛屁顛的在chrome下做了如下轉換,很開心,搞定。

 

  下午測試小妹妹反饋過來說,信用卡有效期判斷有問題,比較詫異,在自己機器上怎么試都沒有問題,然后沒轍,只能親自去小妹妹桌上看看,順便搽點油,開著IE調試器調試了下,果然,靈異事件發(fā)生了,現在終于找到問題所在了。

 

  當時測試小妹妹裝的是IE8,然后在IE8下面parseint默認會把我的“09”當成八進制,但是又發(fā)現不是合法的八進制,最后就拋出了0這個false,我們也看到在chrome下,“09”會默認當做十進制來看的,所以js引擎會理所當然的轉化成了9這個我滿意的結果,所以嘛,IE真的是不按照人的常理出牌,現在我們該如果解決呢?

 

一:解決方案

<1> 剛才討論中也發(fā)現了,parseInt在不同的瀏覽器下有不同的默認行為處理,沒轍,又看不到parseint底層是怎么處理的,只能去找javascript的api文檔這個黑盒去看一看,然后就發(fā)現一個讓我很驚喜的radix參數。

  知道了這個radix,問題就可以迎刃而解了,現在我只需指定下radix=10即可,如圖:

 

不過后來發(fā)現在IE9下面,parseint在缺失radix的時候底層也是默認采用十進制的,終于微軟為了符合大眾口味做了正確的修改。

 

<2>除了parseint這個函數,其實還有一個Number函數也可以幫你解決這個問題,并且在IE7,8上面都是沒有問題的,由于在js中,如果你去new 一下這個Number的話,那就可以生成Number對象了,這一點和C#有一些區(qū)別,所以下面我可以用兩種方式看一下。

 

這個Number的好處在于只會處理十進制數值,而且還有其他特殊的玩法,不像parseint只接受string的參數,number可以接受任何類型,比如:

由于看不到Number底層的源碼,所以針對這些問題,我們也只能道聽途說來記住了,這也是JS與其他托管語言不一樣的地方。

相關文章

  • 高亮顯示web頁表格行的javascript代碼

    高亮顯示web頁表格行的javascript代碼

    本文從簡單的css高亮顯示表格的某一行說開去,探討了在不同瀏覽器下對于高亮功能的兼容性。闡述針對表格本身綁定javascript事件實現這一功能的方法。
    2010-11-11
  • 解讀TypeScript與JavaScript的區(qū)別

    解讀TypeScript與JavaScript的區(qū)別

    這篇文章主要介紹了TypeScript與JavaScript的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • javascript正則表達式之分組概念與用法實例

    javascript正則表達式之分組概念與用法實例

    這篇文章主要介紹了javascript正則表達式之分組概念與用法,結合實例形式分析了javascript正則表達式分組的功能、定義與使用方法,需要的朋友可以參考下
    2016-06-06
  • 封裝好的省市地區(qū)聯動控件附下載

    封裝好的省市地區(qū)聯動控件附下載

    封裝好的省市地區(qū)聯動控件附下載...
    2007-08-08
  • ExtJS 下拉多選框lovcombo

    ExtJS 下拉多選框lovcombo

    最近一個新需求,要求用下拉多選框實現省份、城市的級聯選擇。
    2010-05-05
  • javascript實現tab切換的四種方法

    javascript實現tab切換的四種方法

    這篇文章主要為大家詳細介紹了javascript實現tab切換的四種方法,并且對每個方法進行了評價,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 微信小程序之swiper滑動面板用法示例

    微信小程序之swiper滑動面板用法示例

    這篇文章主要介紹了微信小程序之swiper滑動面板用法,結合實例形式詳細分析了swiper滑動面板的具體功能、參數、使用方法及相關操作注意事項,需要的朋友可以參考下
    2018-12-12
  • js實現延時加載Flash的方法

    js實現延時加載Flash的方法

    這篇文章主要介紹了js實現延時加載Flash的方法,較為詳細的分析了通過元素替換實現JavaScript延時加載flash的相關原理與實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • 微信小程序webview實現長按點擊識別二維碼功能示例

    微信小程序webview實現長按點擊識別二維碼功能示例

    這篇文章主要介紹了微信小程序webview實現長按點擊識別二維碼功能,結合實例形式分析了webview二維碼識別相關操作技巧,需要的朋友可以參考下
    2019-01-01
  • JavaScript之Blob對象類型的具體使用方法

    JavaScript之Blob對象類型的具體使用方法

    這篇文章主要介紹了JavaScript之Blob對象類型的具體使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11

最新評論

宿迁市| 娄底市| 会宁县| 阿拉尔市| 靖江市| 乌兰察布市| 开远市| 陆丰市| 宿迁市| 浦东新区| 合肥市| 肇源县| 青神县| 呈贡县| 秦安县| 新田县| 通渭县| 酒泉市| 丰台区| 十堰市| 忻州市| 古田县| 阿尔山市| 萨嘎县| 保康县| 娱乐| 乌拉特中旗| 德令哈市| 怀化市| 峨山| 株洲县| 洛川县| 开封县| 郓城县| 潢川县| 蒙阴县| 合川市| 江油市| 中江县| 咸宁市| 拜泉县|