У меня есть один динамический элемент и функциональность на моем сайте. Каждый динамически сгенерированный элемент имеет разную функциональность, но у меня есть одно и то же имя функции для всех элементов. У меня проблема с заменой значения внутри функции обратного вызова.
Поэтому мне нужно определить имя функции как динамическое.
Я не знаю, возможно это или нет в javascript/jquery. :
var count= 1;
...
...
function test+count() { // Here count will be replacing the value of count variable
...
...
}
...
...
count++;
...
...
Это мои потребности.
Существуют ли какие-либо возможности/другие способы удовлетворения этих потребностей?
Заранее спасибо...
Определение
function name() {}
равно
window.name = function() {}
и
window['name'] = function() {}
и
var function_name = 'na' + 'me';
window[function_name] = function() {}
Это должно ответить на ваш вопрос.
window
всегда глобальны, чего не следует делать.
Вместо множества похожих функций с разными именами вы можете определить один, который изменил бы его поведение в зависимости от принятого параметра count
:
function test(count) {
// alter behavior depending on count value
}
Вы можете попробовать это,
Определение
var count=1;
for(;count<5;count++)
{
var name="test_name"+count;
window[name] = new Function('alert( "Inside '+name+'")');
}
Назовите его динамически
for(count=1;count<5;count++)
{
window["test_name" + count]();
}
window[name] = function() {alert("hello world");}
стиля ответов?
window[test+count()]()