Does a onEvent() that only has code in it count as a function or does the onEvent() need to directly call a function
I’m not sure I understand your question. Also, is there a context behind your question? If I’m interpreting correctly, it sounds like you are asking what usage (if any) of onEvent() would qualify it as a function definition/call.
@ccollica jumping in here to see if I can help.
The onEvent() block takes three parameters. The first two are the id of the element and the type of event that should be “listened” for. The third parameter is a function. If you were going to read the onEvent block like a sentence it would read “on the event that this id experiences this event, call this function”.
In our curriculum this usually looks like this
and you’re probably wondering what that green
function() is doing there. By using that syntax you are creating a function without a name that the
onEvent() block can call. This is really useful if you’re only going to want to use that function one time, at this point in your code. To answer your question, yes, it is a function, but it’s a very specific kind called an “anonymous function” since it has no name and therefore can’t be called elsewhere in your program.
If you wanted to, you can actually call functions you’ve explicitly declared (and therefore named) elsewhere in your program. For example you could rewrite the code above like this
In this example the
makeSomeNoise function will be the one called by the
onEvent() block, but you have the added benefit that you could use
makeSomeNoise() elsewhere in your program if you wanted to. Note the weird syntax in this example, however, where you don’t use the parentheses.
In short, yes, an
onEvent() block is always calling a function, it’s just that usually in our curriculum it’s an anonymous function that is created once and not named inside the
Let us know if you need further clarification!