pixel.getGreen 与 pixel.getGreen()
pixel.getGreen vs pixel.getGreen()
我正在做一个使用 pixel.getGreen()
方法的作业。我的问题是,当我尝试使用 pixel.getGreen
(不带括号)时,我得到的结果与使用带括号的方法时不同。两者有什么区别?
这是我正在使用的代码:
function swapRedGreen(pixel){
var oldRed = pixel.getRed();
var oldGreen = pixel.getGreen();
pixel.setRed(oldGreen);
pixel.setGreen(oldRed);
return pixel;
}
var image = new SimpleImage("smallhands.png");
print (image);
for (var pixel of image.values()) {
pixel = swapRedGreen(pixel);
}
print (image);
当我尝试 运行 没有括号的代码时,我得到了一个漆黑的图像。
pixel.getGreen()
是一个函数 调用 ,而 pixel.getGreen
只是访问 [=14] 的 getGreen
属性 =] 对象,在这种情况下,它应该是一个函数定义。请记住,您可以在不调用函数的情况下引用它,但是 JS 中的括号表示您是 calling/invoking 函数。没有看到你正在使用的 library/source,它应该是这样的:
var pixel = {
getGreen: function() {
return 'green';
}
};
console.log(pixel.getGreen) // function() {...}
console.log(pixel.getGreen()) // 'green'
如果那不是您所看到的,post更多上下文。
我正在做一个使用 pixel.getGreen()
方法的作业。我的问题是,当我尝试使用 pixel.getGreen
(不带括号)时,我得到的结果与使用带括号的方法时不同。两者有什么区别?
这是我正在使用的代码:
function swapRedGreen(pixel){
var oldRed = pixel.getRed();
var oldGreen = pixel.getGreen();
pixel.setRed(oldGreen);
pixel.setGreen(oldRed);
return pixel;
}
var image = new SimpleImage("smallhands.png");
print (image);
for (var pixel of image.values()) {
pixel = swapRedGreen(pixel);
}
print (image);
当我尝试 运行 没有括号的代码时,我得到了一个漆黑的图像。
pixel.getGreen()
是一个函数 调用 ,而 pixel.getGreen
只是访问 [=14] 的 getGreen
属性 =] 对象,在这种情况下,它应该是一个函数定义。请记住,您可以在不调用函数的情况下引用它,但是 JS 中的括号表示您是 calling/invoking 函数。没有看到你正在使用的 library/source,它应该是这样的:
var pixel = {
getGreen: function() {
return 'green';
}
};
console.log(pixel.getGreen) // function() {...}
console.log(pixel.getGreen()) // 'green'
如果那不是您所看到的,post更多上下文。