Каков правильный способ установки соответствующих значений?
Как сделать эту работу «для ... в».Область применения при динамическом связывании общих функций с объектами. (шаблон модуля)
Функция, которую я связываю с self [state], появляется после цикла с последним значением состояний [state], а не ассоциированным с ним во время цикла.
cssbtn = function(id, states, state){
var self = document.getElementById(id);
var states = states || {'off': '0px 0px', 'selected': '-20px 0px', 'selected2': '-40px 0px' };
var state = state || 'off';
for (state in states) {
self[state] = function(){
alert(states[state]); //demo purposes
}
}
self.onmouseover = function(evt){
self.selected();
}
self.onmouseout= function(evt){
self.off();
}
self.onclick= function(evt){
self.selected2();
}
return self;
}
Ах, когда-либо столь распространенные затворы внутри для петлей снова набрасываются. – hugomg
Возможно, это не ошибка, поскольку она соответствует спецификациям? Это определенно ловушка. – user1446253
Ну, для вас это было, но, по крайней мере! – hugomg