为什么Javascript中的类变量在尝试多次调用或将它们分配给局部变量时消失了? var宽度=10; var data=image.data; var高度=10; 对于(变量x=0;x

为什么Javascript中的类变量在尝试多次调用或将它们分配给局部变量时消失了? var宽度=10; var data=image.data; var高度=10; 对于(变量x=0;x,javascript,variables,canvas,html5-canvas,variable-assignment,Javascript,Variables,Canvas,Html5 Canvas,Variable Assignment,当我执行代码时,index和local_变量都等于零。Image是一个javascript图像对象,data是图像数据,width和height是图像的维度。这个类返回亮度。计算出来了。我没有合上我的花括号。对所有人的警告 Chrome/Firefox优雅地降级,不要抛出错误!你不会相信我追了这只虫子多久了 检查你的语法-javascript会像C中的指针一样抛出错误(它不会)。解决了这个问题。我没有合上我的花括号。对所有人的警告 Chrome/Firefox优雅地降级,不要抛出错误!你不会相信

当我执行代码时,index和local_变量都等于零。Image是一个javascript图像对象,data是图像数据,width和height是图像的维度。这个类返回亮度。

计算出来了。我没有合上我的花括号。对所有人的警告

Chrome/Firefox优雅地降级,不要抛出错误!你不会相信我追了这只虫子多久了


检查你的语法-javascript会像C中的指针一样抛出错误(它不会)。

解决了这个问题。我没有合上我的花括号。对所有人的警告

Chrome/Firefox优雅地降级,不要抛出错误!你不会相信我追了这只虫子多久了


检查你的语法-javascript会像C中的指针一样抛出错误(它不会)。

它们为零的原因是什么?你的意思是它们不随循环增加?它们为零有什么用?你是说它们不会随着循环增加?你是说在第二个for循环之后你没有打开它?这并没有错误,就像在C中一样。我最喜欢的浏览器(Opera)确实会为这种情况抛出异常。将来可能需要使用JS调试器?他们发现这样的问题很好。你是说在第二个for循环之后你没有打开它?这并没有错误,就像在C中一样。我最喜欢的浏览器(Opera)确实会为这种情况抛出异常。将来可能需要使用JS调试器?他们发现这样的问题很好。
var width = 10;
var data = image.data;
var height = 10;

for ( var x = 0; x < width; x++ ) {

  for ( var y = 0; y < height; y++ )

    var index = 4 * (y * height +  x); // 0

    var local_variable = ArbitraryClassInstance.getBrightness(x, y); // 0

    data[ index ] = ArbitraryClassInstance.getBrightness(x, y); // 0 for both index/call
    data[ index + 1 ] = ArbitraryClassInstance.getBrightness(x, y); // 0 for both index/call

  }

}

context.putImageData(image, 0, 0);