我是javascript的新手并且搜索了所有的答案,但没有用,我的时间很短。我正在更新一些代码,他们在函数中有以下代码。
var mbytes = 512;
mbytes = parseFloat(mbytes);
var nbbytes = mbytes.log(1024);
我知道应该使用Math.log()函数。它适用于旧代码,但是当我使用变量mbytes.log编写自己的函数时,我得到一个“Uncaught TypeError:Undefined不是函数”。我知道这是因为mbytes不是函数而是变量。对我来说没有意义,为什么它在旧代码中工作正常,但如果我现在尝试这样做会出错?是否可以在变量上调用.log函数?
答案 0 :(得分:4)
由于您有一个flot值,因此其类型为Number
,而Number
中没有名为log
的方法。
但您可以轻松地将方法添加到数字的prototype object并在那里实现逻辑
Number.prototype.log = function (param) {
var value = this;
//do your logic here
console.log(value, param)
return Math.log(value)
}
var mbytes = 512;
mbytes = parseFloat(mbytes);
var nbbytes = mbytes.log(1024);
console.log(nbbytes)
演示:Fiddle