国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript parseInt 大改造

2024-05-06 14:13:51
字體:
供稿:網(wǎng)友
還隱約記得得知了來龍去脈,為自己掌握了一個經(jīng)驗(yàn)而歡呼雀躍。

還隱約記得被這同一問題折磨了無數(shù)次后,無奈與痛下決心的心境。

首先我必須感謝那些即使這個問題我強(qiáng)調(diào)過無數(shù)次,也依然反復(fù)重復(fù)類似錯誤的人們。
沒有他們反復(fù)犯錯的鼓勵,或許我不會認(rèn)真考慮這個問題的解決方案。
其次,必須感謝《JavaScript高級程序設(shè)計(jì)》的作者和譯者。
在這里我得到了解決該問題的啟示,不然我依然要每每強(qiáng)調(diào)使用parseInt時(shí)應(yīng)注意什么。


同時(shí),希望在這里不僅僅留下一個解決方案。
解決問題的思路與想法,以及對問題舉一反三的經(jīng)驗(yàn)在這里保留一下。

問題:
很久以前發(fā)生的問題不想再痛苦的回憶。
這次的問題很簡單。兩個月份比較的時(shí)候,因?yàn)樵路菔菑淖址谐槿〕鰜淼模?于是用parseInt轉(zhuǎn)換了一下。
結(jié)果parseInt("08")之后結(jié)果是 0
原因請參看以下《JavaScript高級程序設(shè)計(jì)》19~20頁對 parseInt函數(shù)的講解。

parseInt() 方法還有基模式,可以把二進(jìn)制、八進(jìn)制、十六進(jìn)制或其他任何進(jìn)制的字符串轉(zhuǎn)換成整數(shù)。
基是由 parseInt() 方法的第二個參數(shù)指定的,所以要解析十六進(jìn)制的值,需如下調(diào)用 parseInt() 方法:
代碼如下:
var iNum1 = parseInt("AF", 16); //返回 175

當(dāng)然,對二進(jìn)制、八進(jìn)制甚至十進(jìn)制(默認(rèn)模式),都可以這樣調(diào)用 parseInt() 方法:
代碼如下:
var iNum1 = parseInt("10", 2); //返回 2
var iNum2 = parseInt("10", 8); //返回 8
var iNum3 = parseInt("10", 10); //返回 10

如果十進(jìn)制數(shù)包含前導(dǎo) 0,那么最好采用基數(shù) 10,這樣才不會意外地得到八進(jìn)制的值。例如:

var iNum1 = parseInt("010"); //返回 8
var iNum2 = parseInt("010", 8); //返回 8
var iNum3 = parseInt("010", 10); //返回 10

在這段代碼中,兩行代碼都把字符 "010" 解析成一個數(shù)字。

第一行代碼把這個字符串看作八進(jìn)制的值,解析它的方式與第二行代碼(聲明基數(shù)為 8)相同。最后一行代碼聲明基數(shù)為 10,所以 iNum3 最后等于 10。

初試身手:
以前的解決方法是讓大家都拋棄 parseInt函數(shù),全部以parseFloat來替換。
但是作為人“孰能無忘”?
最好的辦法莫過于保留parseInt的“形”,廢了parseInt的“神”。
于是我想到了《JavaScript高級程序設(shè)計(jì)》87~88頁關(guān)于“重定義已有方法”的說明。
3.6.2 重定義已有方法
就像能給已有的類定義新方法一樣,也可重定義已有的方法。
如前一章所述,函數(shù)名只是指向函數(shù)的指針,因此可以輕易地使它指向其他函數(shù)。如果修改了本地方法,如 toString() ,會出現(xiàn)什么情況呢?

Function.prototype.toString = function () {
return "Function code hidden";
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 秀山| 海宁市| 阿巴嘎旗| 天祝| 汝城县| 柳州市| 西华县| 池州市| 阿克苏市| 邵阳县| 柯坪县| 苍南县| 承德市| 拉孜县| 奉节县| 温宿县| 永春县| 常州市| 罗源县| 长宁县| 濮阳市| 多伦县| 阿克苏市| 民县| 大洼县| 吉木萨尔县| 本溪市| 黄浦区| 仁寿县| 景德镇市| 吴川市| 田阳县| 宜阳县| 通河县| 沙河市| 余江县| 汪清县| 梨树县| 西昌市| 兴海县| 屏边|