我正在做一个使用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);
当我尝试在没有括号的情况下运行代码时,我会得到一个黑色的图像。
发布于 2016-03-13 05:32:54
pixel.getGreen()
是一个函数调用,而pixel.getGreen
只是访问pixel
对象的getGreen
属性,在这种情况下,应该是一个函数定义。请记住,您可以在不调用函数的情况下引用它,但是JS中的括号意味着您正在调用/调用该函数。如果没有看到您正在使用的库/源代码,它应该如下所示:
var pixel = {
getGreen: function() {
return 'green';
}
};
console.log(pixel.getGreen) // function() {...}
console.log(pixel.getGreen()) // 'green'
如果这不是你所看到的,发布更多的上下文。
https://stackoverflow.com/questions/35966833
复制相似问题