具体来说,这是我觉得令人困惑的部分:
$('.red').change(function(){
pix = imageData.data;
for(var i = 0, n = pix.length; i < n; i += 4){
var green = 1, blue = 1;
pix[i] = pix[i] * $(this).val();
pix[i + 1] = pix[i + 1] * green;
pix[i + 2] = pix[i + 2] * blue;
}
context.putImageData(imageData, 0, 0);
});
如何修改pix(应该在全局范围内)修改imageData对象? Javascript不直接支持指针。
答案 0 :(得分:4)
Javascript不直接支持指针。
不,但是it is a reference,它具有非常相似的语义。您没有在该作业中创建副本。对象通过引用传递,原始类型按值传递。
答案 1 :(得分:1)
在javascript中,对象通过引用传递。永远不会复制它们。