471,887 Members | 1,546 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,887 software developers and data experts.

Calling a function when passing no parameters

If I have the following function:

function foo(){

alert('hi');

}

and I don't need to pass any parameters to it, is calling it this way:

foo;

the same as calling it this way:

foo();
Jul 17 '08 #1
8 2819
Yansky <th*********@gmail.comwrites:
If I have the following function:

function foo(){

alert('hi');

}

and I don't need to pass any parameters to it, is calling it this way:

foo;

the same as calling it this way:

foo();
No. foo; does not call it at all. It's a statement returning the
function foo, but since you're not doing anything with the value it's
a useless statement.

A contrived example of foo; is:

var bar = foo; // assign function foo to bar
bar(); // call the function.

IOW, you do need the parentheses if you want to call a function.

--
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/
Jul 17 '08 #2
On Jul 18, 8:12*am, Joost Diepenmaat <jo...@zeekat.nlwrote:
Yansky <thegoodd...@gmail.comwrites:
If I have the following function:
function foo(){
* alert('hi');
}
and I don't need to pass any parameters to it, is calling it this way:
foo;
the same as calling it this way:
foo();

No. foo; does not call it at all. It's a statement returning the
function foo, but since you're not doing anything with the value it's
a useless statement.

A contrived example of foo; is:

var bar = foo; // assign function foo to bar
bar(); *// call the function.

IOW, you do need the parentheses if you want to call a function.

--
Joost Diepenmaat | blog:http://joost.zeekat.nl/| work:http://zeekat.nl/
Thanks for clearing that up. :)
Jul 17 '08 #3
On Jul 18, 8:40*am, Yansky <thegoodd...@gmail.comwrote:
On Jul 18, 8:12*am, Joost Diepenmaat <jo...@zeekat.nlwrote:
Yansky <thegoodd...@gmail.comwrites:
If I have the following function:
function foo(){
* alert('hi');
}
and I don't need to pass any parameters to it, is calling it this way:
foo;
the same as calling it this way:
foo();
No. foo; does not call it at all. It's a statement returning the
function foo, but since you're not doing anything with the value it's
a useless statement.
A contrived example of foo; is:
var bar = foo; // assign function foo to bar
bar(); *// call the function.
IOW, you do need the parentheses if you want to call a function.
--
Joost Diepenmaat | blog:http://joost.zeekat.nl/|work:http://zeekat.nl/

Thanks for clearing that up. :)
Oh wait I have one more question. What about when you're calling the
function inside an event listener? e.g.
function foo(){

alert('hi');

}
window.addEventListener("load", foo, false);
Jul 17 '08 #4
Yansky wrote:
On Jul 18, 8:12 am, Joost Diepenmaat <jo...@zeekat.nlwrote:
>Yansky <thegoodd...@gmail.comwrites:
>>If I have the following function:
function foo(){
alert('hi');
}
and I don't need to pass any parameters to it, is calling it this way:
foo;
the same as calling it this way:
foo();
That's probably the second most stupid question I have ever read on Usenet.
>No. foo; does not call it at all. It's a statement returning the
function foo, but since you're not doing anything with the value it's
a useless statement.

A contrived example of foo; is:

var bar = foo; // assign function foo to bar
bar(); // call the function.

IOW, you do need the parentheses if you want to call a function.
[...]

Thanks for clearing that up. :)
I really wonder what is so difficult about trying something out before
asking (or to read the available reference material, including this
newsgroup's FAQ, for that matter). If you are this afraid that code that
you write could have effects this dangerous on the computer you are
developing on, you should forget all about programming and computer science,
and move to a happy little island nowhere near any technology.

<http://jibbering.com/faq/>
<http://catb.org/~esr/faqs/smart-questions.html>
PointedEars, shaking his head
--
Anyone who slaps a 'this page is best viewed with Browser X' label on
a Web page appears to be yearning for the bad old days, before the Web,
when you had very little chance of reading a document written on another
computer, another word processor, or another network. -- Tim Berners-Lee
Jul 17 '08 #5
Yansky wrote:
Oh wait I have one more question.
You don't say.
What about when you're calling the function inside an event listener?
e.g.
function foo(){

alert('hi');

}
window.addEventListener("load", foo, false);
`foo' refers to the (event) listener, which is the user-defined function.
Again, the function is _not_ called here, but being referred to. It is
called *later*, by the DOM implementation's event handler, using the passed
Function object reference.

RTFM. RTFFAQ. STFW.
PointedEars
--
Prototype.js was written by people who don't know javascript for people
who don't know javascript. People who don't know javascript are not
the best source of advice on designing systems that use javascript.
-- Richard Cornford, cljs, <f8*******************@news.demon.co.uk>
Jul 17 '08 #6
On Jul 18, 8:50*am, Thomas 'PointedEars' Lahn <PointedE...@web.de>
wrote:
Yansky wrote:
On Jul 18, 8:12 am, Joost Diepenmaat <jo...@zeekat.nlwrote:
Yansky <thegoodd...@gmail.comwrites:
If I have the following function:
function foo(){
* alert('hi');
}
and I don't need to pass any parameters to it, is calling it this way:
foo;
the same as calling it this way:
foo();

That's probably the second most stupid question I have ever read on Usenet.
w00t!
Jul 17 '08 #7
Yansky wrote:
Thomas 'PointedEars' Lahn wrote:
>Yansky wrote:
>>On Jul 18, 8:12 am, Joost Diepenmaat <jo...@zeekat.nlwrote:
Yansky <thegoodd...@gmail.comwrites:
If I have the following function:
function foo(){
alert('hi');
}
and I don't need to pass any parameters to it, is calling it this way:
foo;
the same as calling it this way:
foo();
That's probably the second most stupid question I have ever read on Usenet.

w00t!
And that's definitely the most stupid reply I have ever read.

Congratulations. Don't you want to apply for the Darwin Award as well?
PointedEars
--
var bugRiddenCrashPronePieceOfJunk = (
navigator.userAgent.indexOf('MSIE 5') != -1
&& navigator.userAgent.indexOf('Mac') != -1
) // Plone, register_function.js:16
Jul 17 '08 #8
Yansky wrote:
Oh wait I have one more question. What about when you're calling the
function inside an event listener? e.g.
function foo(){
alert('hi');
}
window.addEventListener("load", foo, false);
That's fine, you're not calling it, you're nominating it as the function
that should be called.

Here, alias will be set to 3;

function foo(){return 3;};
var alias=foo();

Here, alias will become an actual alias of the function foo.

function foo(){return 3;}
var alias=foo;
//you can now do this:
alert(alias()); //alert 3
Jul 17 '08 #9

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

8 posts views Thread by Muthu | last post: by
5 posts views Thread by Zlatko Matić | last post: by
30 posts views Thread by Tim Marshall | last post: by
2 posts views Thread by Geler | last post: by
10 posts views Thread by sulekhasweety | last post: by
6 posts views Thread by Ole Nielsby | last post: by
reply views Thread by zermasroor | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.