Локальные переменные jQuery

180
15 сентября 2018, 22:20

В такой записи обе функции будут "видеть" только свои переменные, если есть две и т.д. одинаковые переменные по названию, или же нет?

$(document).ready(function(){ 
 
	$('input[data-size]').change(function() { 
		var shed     = $('#size1:checked'); 
		var lumber   = $('#size2:checked'); 
		var country  = $('#size3:checked'); 
		var brick    = $('#size4:checked'); 
		var carriage = $('#size5:checked'); 
	}); 
 
	$('input[data-type]').change(function() { 
		var shed     = $('#type1:checked'); 
		var lumber   = $('#type2:checked'); 
		var country  = $('#type3:checked'); 
		var brick    = $('#type4:checked'); 
		var carriage = $('#type5:checked'); 
	});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Answer 1

при использовании ключевого слова var переменная объявляется на уровне функции и не видна извне.

В данном случае в обработчики передаются две разные функции, внутри которых создаются переменные.

Так как все переменные объявлены внутри функций, она не видны снаружи и, следовательно, не пересекаются между собой.

READ ALSO
Проверка массива на дубликаты при вводе в поле

Проверка массива на дубликаты при вводе в поле

Подскажите, есть массив itemSource, мне нужно при вводе в поле Name_Page проверять массив на дубликаты и выводить сообщение, если они появляются:

163
Неверно определяет движение курсора

Неверно определяет движение курсора

Скрипт ловит движение курсора при зажатой ЛКМ вверх и вниз, но не каждый раз корректноПару движений видит корректно, следующие определяет...

175
WPF C# Отображение объектов на Canvas (2d Map)

WPF C# Отображение объектов на Canvas (2d Map)

Задача: Создать приложение "Создание карт исследований месторождений"1) Есть панель, на панели расположены кнопки с изображением которое...

221
Псевдонимы для зависимых референсов

Псевдонимы для зависимых референсов

Предположим, я создаю проект, создаю в нем класс

186