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所以对于怀疑和调试是一个疑问,调试不被认为是一个疑问