Я искал функцию JavaScript для округления числа до указанного количества знаков после запятой, и я нашел эту страницу: http://www.kadimi.com/en/round-float-349
На этой странице есть раздел, в котором используется прототипирование и функция toFixed ()..... однако я также нашел эту страницу: http://freewebdesigntutorials.com/javaScriptTutorials/jsNumberObject/toFixedMethod.htm (см. последний пример), и здесь используется функция toFixed, и, похоже, она делает то же самое.
Я небольшой человек javascript, поэтому извиняюсь, если это глупый вопрос, но в чем разница между ними?
Вот они для ясности ..
С прототипом:
if (!Number.toFixed) {
Number.prototype.toFixed=function(n){
return Math.round(this*Math.pow(10, n)) / Math.pow(10, n);
}
}
// example:
floating_number = 123.45687;
decimal_points = 2;
window.alert(floating_number.toFixed(decimal_points));
Стандарт:
var numex = 3.1415926535;
alert( numex.toFixed(5) );
Я также опробовал эту первую партию кода с этой функцией ..
function round_float(number,places){
if (!number.toFixed) {
number.prototype.toFixed=function(places){
return Math.round(this*Math.pow(10, places)) / Math.pow(10, places);
}
} else {
alert('bad');
}
}
Она попала в раздел «плохих» предупреждений ..... I 'я предполагаю, что это было вызвано ложным ответом toFixed;Есть идеи, почему эта функция так написана?