Javascript 相同的函数给出不同的值
我调用了一个函数来寻找某个点的导数,如果我将数字硬编码到脚本中,我会得到正确的答案,但是如果我使用一个具有相同数字的变量,我会得到一个完全错误的答案 HTMLJavascript 相同的函数给出不同的值,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;
点
单击
剧本
<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;