這裏最重要的是我不能設置變量,需要在飛行中:Javascript方法鏈:正確的方法鏈toFixed()和parseFloat()返回一個數字,而不是一個字符串?
處理緯度。我們稱之爲拉特。假設在這種情況下,經緯度是123.4567
lat.toFixed(2).parseFloat();
TypeError: Object 123.35 has no method 'parseFloat'
最好的方法去呢?
這裏最重要的是我不能設置變量,需要在飛行中:Javascript方法鏈:正確的方法鏈toFixed()和parseFloat()返回一個數字,而不是一個字符串?
處理緯度。我們稱之爲拉特。假設在這種情況下,經緯度是123.4567
lat.toFixed(2).parseFloat();
TypeError: Object 123.35 has no method 'parseFloat'
最好的方法去呢?
toFixed
是Number
的方法,並返回一個字符串。 window.parseFloat
是一個全局函數,而不是String
的一個方法,但是如果你確實需要的話,那麼你可以使它成爲String
方法,否則就把它用作函數。在這種情況下,您甚至可以使用unary plus運營商。
(有討論關於增強,我不打算進入,你可以做一些研究,並彌補自己的心態本地對象很大。)
的Javascript
if (!String.prototype.parseFloat) {
String.prototype.parseFloat = function() {
return parseFloat(this);
}
}
var lat = 123.456789;
console.log(parseFloat(lat.toFixed(2)));
console.log(lat.toFixed(2).parseFloat());
console.log(+lat.toFixed(2));
輸出
123.46
123.46
123.46
那麼,你需要傳遞'parseFloat',這是一個函數,而不是一個方法,所以...''parseFloat(lat.toFixed(2));'。如果你想能夠使用鏈接,你可以修改'String'的原型,如:'String.prototype.parseFloat = function(){return parseFloat(this); };' - http://jsfiddle.net/L4M2C/ – Ian
是的,你說得對,我完全忽略了它。 'parseFloat(Lat).toFixed(2)' – DnfD