相同的功能提供不同的值

时间:2015-05-12 02:58:58

标签: javascript function variables

我有一个函数我打电话找到一个点的衍生物,如果我将数字硬编码到脚本中,我得到正确的答案,但如果我使用一个具有相同数字的变量,我得到一个完全错误答案。

HTML

Point<br>
<input type="text" name="point" id="point" class="form"><br>
<p id="submit" onclick="submit()" name="solve">click</p><br>

脚本

<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
}

有关为何或如何修复的任何想法?

1 个答案:

答案 0 :(得分:2)

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

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

演示:Fiddle