Function named and called by a parameter value?


T

Tuxedo

Is it possible to create a dynamically named function by a parameter and
then run the created function within the block of the initial function by
parameter reference, without literally typing the name of the
parameter-named function within the initial function block? Something like:

function main_function(param){

function ??? (){ // create a function named by the parameter value
d = document.title;
alert(d);
}

return ???() // run sub_function by a parameter reference

}

main_function('sub_function') // name the function, e.g. 'sub_function'

Surely the construct would not look close to the above...

Thanks for any ideas!

Tuxedo
 
Ad

Advertisements

A

Andreas Bergmaier

Tuxedo said:
Is it possible to create a dynamically named function by a parameter and
then run the created function within the block of the initial function by
parameter reference, without literally typing the name of the
parameter-named function within the initial function block? Something like:

It is exactly the same as with your variables in your former thread. As
you store objects in variables, and functions are objects, and you can
store any values within objects:
Use objects!

They work as maps. Surely you already know accessing object propertys
with the dot syntax:

var o = {a:1:, b:3};
o.a; // 1

But you can also access them with bracket syntax:

var propname = "b";
o[propname]; // 3

So you will use a object for your problem, where you can store any
values and even functions:

var myfn = function(params) { <body>; };

is also a valid way to store functions. Of course this one has no "name"
(you can't set names of functions), but you can easily call it with

myfn("something");
function main_function(param){

function ??? (){ // create a function named by the parameter value
d = document.title;
alert(d);
}

return ???() // run sub_function by a parameter reference

}

main_function('sub_function') // name the function

That makes no sense. Why should you want to "name" a internal function,
which you never will see, and which is called inside the global
function? Just use

function main_function() { // no "param"
return alert(document.title);
}

regards,
Bergi
 
Ad

Advertisements

T

Tuxedo

Stefan Weiss wrote:

[...]
It's commendable to reduce posted code examples to the required minimum,
but in this case I'd like to see the bigger picture :)

I will try and post the bigger picture when I have a bit more workable code.

Tuxedo
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top