Какой я должен использовать, если бы мне пришлось его использовать?Какое из двух было бы самым эффективным способом сделать это?
- С помощью метода 1 я создаю 1 функцию для каждой возможной комбинации комбинаций, но ее легко вызвать.
- С методом 2 у меня есть только 1 функция, но сложнее позвонить.
Примечание: в реальном коде я не создаю все в глобальной области видимости, но идея остается прежней.
//Method 1:
for(var key = 0 ; key < 1000 ; key++){
for(var i = 0 ; i < 1000 ; i++){
window[key + ' ' + i] = (function(key, i) { return function() { aFunction(key, i); } })(key, i)
}
}
//then I simply do
//window['223 111']();
//Method 2:
for(var key = 0 ; key < 1000 ; key++){
for(var i = 0 ; i < 1000 ; i++){
window[key + ' ' + i] = ['aFunction',key,i]
}
}
//then i need to do
//window[window['223 111'][0]](window['223 111'][1],window['223 111'][2]);
Ваш вопрос относительно удобочитаемости или производительности? – Jordan
Этот вопрос относится к обзору кода. – Jon
Не могли бы вы дать нам некоторые подробности о том, почему вы хотите это сделать? В любом случае мне было бы гораздо лучше использовать свой собственный объект, а не «окно» для хранения всех этих переменных. Вы загрязняете глобальную область с 1000 переменными. – elclanrs