6
A
回答
13
編輯:
我不是100%肯定,爲什麼parseInt
不是String
的方法,不同的是它可以在任何東西上運行。似乎它可能是Math
的一部分,但它也不是一個真正的數學運算。
結束編輯
parseInt
是全局對象的方法。在瀏覽器中,全局對象是window
。您可以撥打window.parseInt()
,但JS引擎可以讓您快速調用全局方法。
也就是說,由於引擎必須掃描範圍鏈以查找parseInt
的定義,因此需要付出一些代價。一般來說,如果我想提出一個單一的範圍內,這樣的方法調用,我將引用它關閉全球:如果我的代碼需要的範圍內,使超過一個方法調用
var foo = function (someString) {
var bar;
// ...
bar = window.parseInt(someString, 10);
// ...
};
,但是,我將其本地化並使用參考:
var foo = function (someString, someOtherString) {
var parseInt = window.parseInt,
bar,
baz;
// ...
bar = parseInt(someString, 10);
baz = parseInt(someOtherString, 10);
// ...
};
相關問題
- 1. 爲什麼使用Number.parseInt而不是parseInt()?
- 2. 爲什麼parseInt函數( 「08」)= 0,parseInt函數( 「07」)= 7
- 3. 爲什麼parseInt(「09」)返回0,但parseInt(「07」)返回7?
- 4. 爲什麼「console.log(parseInt(0o22,8))」顯示「1」
- 5. 爲什麼parseInt(「014」)出現到12?
- 6. 爲什麼parseInt(013)返回11?
- 7. 你認爲parseInt(「08」)會返回什麼?
- 8. 爲什麼parseInt(「123abcd」)和parseInt(「abcd123」)的結果在JavaScript中有所不同?
- 9. 爲什麼JavaScript將parseInt(0000000101126)轉換爲33366而不是101126?
- 10. 爲什麼不正確(parseInt)將字符串轉換爲int?
- 11. 爲什麼parseInt()不會將「true」轉換爲數字,而相乘?
- 12. 爲什麼parseInt(String)方法在String包含一個「 - 」減號時出錯?
- 13. 在JavaScript:爲什麼parseInt(「08」)評估爲零,但parseInt(08)評估罰款?
- 14. 實施parseInt函數方法
- 15. 爲什麼不會parseInt與領先的0的大量工作?
- 16. NumberFormatExceptions被無處不在拋出。爲什麼? (parseInt)
- 17. 爲什麼`(['1','2','3'])。map(parseInt)`得不到正確的結果?
- 18. 爲什麼arr.map(parseInt)在JavaScript中不起作用?
- 19. 爲什麼parseInt函數(08 ')被給予0,而parseInt函數(07')是給7
- 20. 爲什麼touchUp方法不觸發?
- 21. 爲什麼不能存儲jQuery方法?
- 22. 爲什麼getAppProperty()不是靜態方法?
- 23. 爲什麼方法不起作用?
- 24. 爲什麼Stream.CopyTo不是擴展方法?
- 25. 爲什麼init不是類方法?
- 26. 爲什麼不是方法引用singleton?
- 27. 爲什麼integerValidation方法不起作用?
- 28. 爲什麼Math.random方法不工作?
- 29. 爲什麼objectAnimator不調用setter方法
- 30. 爲什麼PhpStorm不識別$ .post方法?
因爲如果X未定義,它會引發錯誤? – jishi 2012-02-21 14:51:15
@jishi:如果'X'是'undefined',那麼在嘗試訪問一個屬性時總是會出錯。不知道'parseInt'不是'Number'方法會怎麼做。 – 2012-02-21 14:53:15
@amnotiam'parseInt(undefined)=== NaN'如果'parseint'是'String'或'Number'的方法,那麼'undefined.parseInt()'會拋出一個異常而不返回'NaN' – JaredMcAteer 2012-02-21 15:05:09