Использование функции $()
всегда создаст новый объект, поэтому независимо от того, ваша проверка равенства всегда будет терпеть неудачу.
Например:
var div = document.getElementById('myDiv');
$(div) === $(div); // false!
Вместо этого , вы можете попытаться просто сохранить фактические элементы DOM, так как они просто упомянуты для внутренних объектов jQuery.
val = $('#box'+index).get(0);
...
if (this !== val) { }
Декларации не ошибочны как таковые , но есть проблемы с кодом:
short foo(void)
предпочтительнее, чем short foo()
. Первый говорит, что функция не принимает параметров. Последнее оставляет его гибким, что связано с рядом проблем, которые могут привести к появлению ошибок. z = x + y;
, x
не было присвоено значение. Поведение кода тогда не определено. (Это связано со специальным правилом, согласно которому использование объекта с автоматической продолжительностью хранения, которому не было присвоено значение и не был получен его адрес, имеет поведение, не определенное стандартом C.) Возвращаемое значение z
будет неопределенным поведением, потому что вы не инициализируете значение переменной x
в этой функции. Возвращаемое значение этой функции будет несовместимым, иногда оно будет 24, иногда это будет другое значение.