Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Look at the following code:

window.onload = someFunction;

Many times I see the use of this kind of code and even I use the same. But, there are still few things unclear.

  1. The above is a call to someFunction as soon as the page loads, right. But, aren't we supposed to call a function with brackets ()?
  2. From my understanding, we are just assigning someFunction to window.onload, therefore can we or shouldn't we call window.onload();
  3. Are there such cases, when functionName() and functionName becames interchangeable. Because at many places, and in various API, I have seen calling the function without brackets.
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
104 views
Welcome To Ask or Share your Answers For Others

1 Answer

You're not calling the function, you're telling the browser which function to call, onload.

Referencing a function and calling a function are never interchangeable: they're completely different things.

You may, however, call a function that returns a function:

function getFunction() {
    return function() {
        alert("I'm the real onload function.");
    };
}

window.onload = getFunction();

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...