Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 相同的函数给出不同的值_Javascript_Function_Variables - Fatal编程技术网

Javascript 相同的函数给出不同的值

Javascript 相同的函数给出不同的值,javascript,function,variables,Javascript,Function,Variables,我调用了一个函数来寻找某个点的导数,如果我将数字硬编码到脚本中,我会得到正确的答案,但是如果我使用一个具有相同数字的变量,我会得到一个完全错误的答案 HTML 点 单击 剧本 <script type="text/javascript"> function diff(f) { return function(x) { return (f(x+.0000000001)-f(x))/.0000000001 }; } function f(x) { return x*x+2*x+1;

我调用了一个函数来寻找某个点的导数,如果我将数字硬编码到脚本中,我会得到正确的答案,但是如果我使用一个具有相同数字的变量,我会得到一个完全错误的答案

HTML



单击

剧本

<script type="text/javascript">
function diff(f) {
return function(x) { return (f(x+.0000000001)-f(x))/.0000000001 };
}

function f(x) {
return x*x+2*x+1;
}

fprime = diff(f);

function submit() {
var point = document.getElementById("point").value;

console.log(point); //-0.5

var q = fprime(-0.5); //Will output 1
var w = fprime(point); //Will output 749999998.98
}

函数差(f){
返回函数(x){return(f(x+.0000000001)-f(x))/.0000000001};
}
函数f(x){
返回x*x+2*x+1;
}
fprime=diff(f);
函数提交(){
var point=document.getElementById(“点”).value;
console.log(点);//-0.5
var q=fprime(-0.5);//将输出1
var w=fprime(点);//将输出7499998.98
}

知道为什么或如何修复吗?

问题是点是字符串,而不是数字,所以请使用parseFloat()将值转换为数字,或使用一元运算符,如下所示

var point = +document.getElementById("point").value;

演示:

简单的答案,简单的解释,非常感谢,我会在计时器过期时接受这个答案。
var point = +document.getElementById("point").value;