我已经将一个色轮的图像加载到画布上,并且我有一个数组中的色调值列表。我遍历画布上的每个像素并移除匹配相同色调值的像素。Javascript!==没有给出与===相反的结果
的代码是:
var element = document.getElementById("wheel-canvas");
var c = element.getContext("2d");
var image = c.getImageData(0, 0, 375, 375);
var imageData = image.data;
paletteList = this.collection.pluck('hsv');
for (var i = 0, n = imageData.length; i < n; i += 4) {
var hsv = this.model.convertRGBToHSV(imageData[i], imageData[i+1], imageData[i+2]);
var hue = hsv[0];
var sat = hsv[1];
var val = hsv[2];
$.each(paletteList, function(index, value) {
if (hue === value[0])
{
imageData[i] = '0';
imageData[i+1] = '0';
imageData[i+2] = '0';
}
});
}
c.putImageData(image, 0, 0);
现在我想的是不匹配的色调成为黑色的所有像素。我修改代码:
if (hue !== value[0])
,我得到以下结果:
为什么没有它看起来像一个圆的倒数?
谢谢!
http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use – 2012-01-03 10:35:14
我与基斯C.贝克同意 - 运营商不是问题。请发布整个文档,以便我们可以运行和调试以发现问题。 – 2012-01-03 10:51:40