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更多上下文。