By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
437,600 Members | 1,861 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 437,600 IT Pros & Developers. It's quick & easy.

Calling a function when passing no parameters

P: n/a
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
Share this Question
Share on Google+
8 Replies


P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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.