Глобальная перемена JavaScript

329
06 марта 2017, 12:02
var a;
var b;
function update(input)
{
   a = $(input);
   b = a.val().length;
   // далее код с переменные работает 
}

вот вызов функции

 $("#jack").click(function () {
            update(this);
        });

Но сразу при выходе из функции эти переменные равны undefined Почему обнуляются??

Answer 1

Не равно undefined. Всё нормально.

Проверьте, где вы вызываете функцию и получаете переменные. Если вы вызываете позже чем получаете, то будет undefined

Вызов до получения:

var a; 
var b; 
 
function update(input) { 
  a = $(input); 
  b = a.val().length; 
  // далее код с переменные работает  
} 
 
update('.input'); 
 
console.log('a: '+a); 
console.log('b: '+b);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="input">

Вызов после получения:

var a; 
var b; 
 
function update(input) { 
  a = $(input); 
  b = a.val().length; 
  // далее код с переменные работает  
} 
 
console.log('a: '+a); 
console.log('b: '+b); 
 
update('.input');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="input">

READ ALSO
build frontend проекта с jquery bootstrap на grunt gulp

build frontend проекта с jquery bootstrap на grunt gulp

возможно ли сделать так что все собственно написанные исходники и исходники из папки npm_modules строились(компилировались) в папку с публичной...

266
Добавление элементов в select

Добавление элементов в select

ЗдравствуйтеПытаюсь сделать чтобы при изменении выбора в одном select в другой select добавлялся элемент:

337
Как в jquery each получить следующий элемент

Как в jquery each получить следующий элемент

Мне нужно сравнить два элемента из массива который выводится в $each() как я могу сравнить эти два элемента? Или как я могу вывести конкретный...

339
Рандомный оттенок

Рандомный оттенок

Хочу создать форму, где пользователь нажимает на нужный цвет и скрипт генерирует случайный оттенок этого цвета

353