如何将我编写的函数应用于此图像?(JavaScript)
我编写的函数旨在将给定图像中的每个像素变为黑色:如何将我编写的函数应用于此图像?(JavaScript),javascript,function,Javascript,Function,我编写的函数旨在将给定图像中的每个像素变为黑色: function setBlack(像素){ 像素。设置为红色(0) 像素.setBlue(0) 像素。设置为绿色(0) 返回像素; } 我定义了一个图像: var img=new SimpleImage(“drewRobertOrig.png”); 然后尝试调用我的函数: for(img.values()的变量像素){ img.setBlack(); } 得到了这个错误:setBlack.pixel不是一个函数。我是JavaScript新
function setBlack(像素){
像素。设置为红色(0)
像素.setBlue(0)
像素。设置为绿色(0)
返回像素;
}
我定义了一个图像:
var img=new SimpleImage(“drewRobertOrig.png”);
然后尝试调用我的函数:
for(img.values()的变量像素){
img.setBlack();
}
得到了这个错误:setBlack.pixel不是一个函数。我是JavaScript新手,所以语法对我来说很难。看起来您只需要将像素参数传递给setBlack函数。现在调用它时没有参数。它需要一个像素参数。另外,当它看起来是一个单独的函数时,您将其作为
img
的成员方法调用
更改此项:
for (var pixel of img.values()) {
img.setBlack();
}
为此:
for (var pixel of img.values()) {
setBlack(pixel);
}
看看这是否有效。不确定您正在为此使用哪个库。您正在使用画布对象吗
您是否正在使用?假设您的
可以访问循环代码的函数,您需要将setBlack()
作为独立函数使用,而不是像调用SimpleImage
原型函数那样调用它
在JavaScript中,当调用如下函数时:
[object].foo();
你在调用所谓的。这意味着,与之前声明的独立函数(如setBlack()
的声明)不同,代码将查找由调用它的对象的原型定义的方法
在本例中,通过调用img.setBlack()
,您的代码基本上将查找由SimpleImage
定义的名为setBlack()
的函数的定义,该函数不存在(因此抛出错误)
您可能希望在这里调用setBlack(pixel)
,它将调用您使用for
循环提供的参数pixel
定义的函数
function setBlack(像素){
像素。设置为红色(0)
像素.setBlue(0)
像素。设置为绿色(0)
返回像素;
}
var img=新的SimpleImage(“drewRobertOrig.png”);
for(img.values()的变量像素){
像素级;
}
要按定义使用函数,它应该是setBlack()代码>,带有一些参数。我知道这不是很有帮助,但这就是您使用该函数的方式。如果您想为该图像类创建一个“函数”,则必须覆盖其原型…它应该类似于SimpleImage.prototype.setBlack(pixel)=函数(pixel){…返回…}
,前提是pixel是在SimpleImage类中定义的。但是二传手通常不会返回任何东西。。。所以你不应该包含return语句。我正在网上寻找SimpleImage类,但我没有看到它。。。我只想使用Image类。你能链接你正在使用的库吗?我想查阅一些文件。这对我很有用,谢谢!我用的是DukeLearn的程序