I'm trying to achieve the following pseudo code:
function processAboutLink(){
}
function processServicesLink(){
}
var variableName = 'about';
process + variableName + Link();
var variableName = 'services';
process + variableName + Link();
I'm aware that the code above isn't real but is a logical representation. Can anyone point me in the right direction?
It would be more convenient to have an object, because you can access properties dynamically:
var processLinkFunctions = {
about: function() { ... },
services: function() { ... }
};
Then, it's as easy as:
processLinkFunctions[variableName]();
This is basically the same as processLinkFunctions.about()
if variableName === "about"
.
You might want to use object literals for namespacing instead
var process = {
services: function(){...},
about: function(){...}
}
then calling them:
process[variable]();
If you make the functions properties of an object, you can then call them by name (and without resorting to eval
!):
var functions = {
about: function() { ... },
services: function() { ... }
};
var name = 'about';
functions[name]();
EDIT don;t use eval. It seems to be dangerous and leads to undefined behaviour.
wrong answer:
eval('process' + variableName + 'Link()');
should work
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.