Я пытаюсь переопределить встроенную функцию parseFloat в js. Как мне это сделать?
Как переопределить функцию javascript
Ответ 1
var origParseFloat = parseFloat;
parseFloat = function(str) {
alert("And I'm in your floats!");
return origParseFloat(str);
}
Ответ 2
Вы можете переопределить любую встроенную функцию, просто повторно объявив ее.
parseFloat = function(a){
alert(a)
};
Теперь parseFloat(3)
будет предупреждать 3.
Ответ 3
Вы можете сделать это следующим образом:
alert(parseFloat("1.1531531414")); // alerts the float
parseFloat = function(input) { return 1; };
alert(parseFloat("1.1531531414")); // alerts '1'
Ознакомьтесь с рабочим примером здесь: http://jsfiddle.net/LtjzW/1/
Ответ 4
Вы можете переопределить его или, предпочтительно, расширить его реализацию следующим образом.
parseFloat = (function(_super) {
return function() {
// Extend it to log the value for example that is passed
console.log(arguments[0]);
// Or override it by always subtracting 1 for example
arguments[0] = arguments[0] - 1;
return _super.apply(this, arguments);
};
})(parseFloat);
И называйте это так, как вы обычно это называете:
var result = parseFloat(1.345); // It should log the value 1.345 but get the value 0.345
Ответ 5
Здравствуйте, я не могу переопределить функцию в JS. Я использовал прототип для изменения функции, например, print(), но это не так. Пожалуйста, помогите мне!!