Javascript Math.pow()浮点数作为指数

Javascript Math.pow()浮点数作为指数,javascript,floating-point,pow,Javascript,Floating Point,Pow,我想将浮点数作为第二个参数(指数)传递给Math.pow()。当传递的数字不是一个整数时,我总是得到NaN,比如0,2,7,你可以说。javascript中是否有一种可行的方法来实现这一点 (function () { var notice = document.getElementById('notice'); var value = 0.0; var interval = 0.02; var timeInterval = 10; function in

我想将浮点数作为第二个参数(指数)传递给
Math.pow()
。当传递的数字不是一个整数时,我总是得到
NaN
,比如0,2,7,你可以说。javascript中是否有一种可行的方法来实现这一点

(function () {
    var notice = document.getElementById('notice');
    var value = 0.0;
    var interval = 0.02;
    var timeInterval = 10;
    function interpolation(x) {
        var y = Math.pow(Math.e, x);      // <<< HERE >>>
        console.log(x, y);
        return y;
    }
    function animation() {
        var callAgain = true;
        if (value >= 1) {
            value = 1.0;
            callAgain = false;
        }
        notice.style['opacity'] = interpolation(value);
        notice.style['marginTop'] = (value * 20 + 20) + 'px';
        value += interval;
        if (callAgain) {
            setTimeout(animation, timeInterval);
        }
    }
    animation();
})();
(函数(){
var notice=document.getElementById('notice');
var值=0.0;
var区间=0.02;
var时间间隔=10;
函数插值(x){
变量y=数学功率(数学e,x);/>
控制台日志(x,y);
返回y;
}
函数动画(){
var=true;
如果(值>=1){
数值=1.0;
callreach=false;
}
注意.style['opacity']=插值(值);
注意.style['marginTop']=(值*20+20)+'px';
值+=间隔;
如果(再次呼叫){
设置超时(动画、时间间隔);
}
}
动画();
})();

PS:请不要评论,透明度大于1没有任何意义。我知道,
e^x;x>0
将产生大于
1
的值。当我开始工作时,我将插入一个适当的函数。

常数是
Math.E
,而不是
Math.E

常数是
Math.E
,而不是
Math.E

Math.pow(2,4.5)(例如)在chrome中对我有效。
Math.pow(2,4.5)
(例如)在chrome中对我有效。
Math.exp(x)
将是更好的计算方法。
Math.exp(x)
将是更好的计算方法。