Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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 为什么不是';这个js代码不是用来寻找导数的吗?_Javascript_Debugging - Fatal编程技术网

Javascript 为什么不是';这个js代码不是用来寻找导数的吗?

Javascript 为什么不是';这个js代码不是用来寻找导数的吗?,javascript,debugging,Javascript,Debugging,当运行时,它会给出一个未定义的警告框,你能帮我调试这段代码吗?我找不到正确的错误,你可以检查一下,请帮助我。对于f(x)=x^2+1,必须使用越来越小的h在点x=10处给出导数,直到达到所需的精度 函数f(x){ 返回x*x+1; } var iter=[]; var h=0; var-ddx=0; iter[0]=((f(10+h)-f(10))/h); 函数d_dx(p){ 对于(i=1;i

当运行时,它会给出一个未定义的警告框,你能帮我调试这段代码吗?我找不到正确的错误,你可以检查一下,请帮助我。对于
f(x)=x^2+1
,必须使用越来越小的
h
在点
x=10
处给出导数,直到达到所需的精度

函数f(x){
返回x*x+1;
}
var iter=[];
var h=0;
var-ddx=0;
iter[0]=((f(10+h)-f(10))/h);
函数d_dx(p){
对于(i=1;i<20;i++){
iter[i]=((f(p+h)-f(p))/h);
if(iter[i]=iter[i-1]){
打破
var-ddx=iter[i];
}否则{
h=h/2;
}
}
返回ddx;
}

console.log(d_dx(10))中断后无法访问var ddx。这就是它返回未定义的原因。还有一件事,您使用赋值而不是条件表达式(正确的比较是-if(iter[i]==iter[i-1]))


在返回ddx时,您使用的var ddx超出了范围

您的
iter
阵列将是
NaN
h
始终为
0
,然后除以0。
如果(iter[i]=iter[i-1])
语句错误,您应该使用
=
来比较值。如果要多次循环此代码,则不能在
if
中使用
break
。您的代码中有许多错误。

投票结束此操作,因为请求调试帮助的问题通常被认为是离题的SO@KrishnaPrashatt所以对于怀疑和调试是一个疑问,调试不被认为是一个疑问