У меня есть такой код:
if (condition) {
var variable = blah;
}
if (differentcondition) {
var variable = blah;
}
Правильно ли это?
Я предполагаю, что переменная не будет назначена, если условие не вернет true.
JSLint продолжает рассказывать мне, уже определенную переменную.
Я делаю это неправильно?
Спасибо.
ОК, Здесь мой фактический usecase, я делаю делегирование событий следующим образом:
$("#container").click(function (event){
if ($(event.target).is('img.class1')) {
var imagesrc = $(event.target).attr('src');
// Do something with imagesrc
}
if ($(event.target).is('img.class2')) {
var imagesrc = $(event.target).attr('src');
// Do something with imagesrc
}
// This condition is mutually exclusive to the above 2
if ($(event.target).is('img.class3')) {
var imagesrc = $(event.target).attr('src');
// Do something with imagesrc
}
// This condition is mutually exclusive to 1 and 2 but not to 3
if ($(event.target).is('img.class4')) {
var imagesrc = $(event.target).attr('src');
// Do something with imagesrc
}
});
На самом деле эти 2 класса не являются взаимоисключающими.
Это работает для меня, но правильно ли это?
Ответы были очень информативными, но я до сих пор не понимаю, как мне здесь создавать переменные.
Собственно, я также хочу сказать, что некоторые условия являются взаимоисключающими, а некоторые условия не являются.
Как мне это структурировать?
Вероятно, я должен был использовать этот пример с самого начала.