Intereting Posts
Используя htmlspeciachars на выходе из базы данных (MySQL), что еще следует учитывать для предотвращения XSS? Paypal sandbox – тестовый платеж Gettext не переводит PHP не отвечает при проверке XML с помощью XSD URL с только слэшами в чистом php, таком как codeigniter uri pattern Как эхо пользовательский объект в PHP? Исключить некоторые атрибуты из реляционного объекта RestBundle Symfony2 как добавить стороннюю библиотеку в magento? Ваша версия библиотеки PHP MySQL отличается от версии вашего сервера MySQL Добавление строки запроса к случайному URL-адресу Обработка цикла while и группировка значений PHP MYSQL В Google API v2, почему возникает ошибка: «Идентификатор проекта, используемый для вызова API разработчика Google Play, не был связан»? Улучшить хеширование паролей со случайной солью Означает ли это SOAP Fault, что я думаю, что это значит? Регулярное выражение для соответствия блоку текста с первой двойной новой строкой?

есть что-то вроде isset php в javascript / jQuery?

Есть ли что-то в javascript / jQuery, чтобы проверить, установлена ​​или недоступна переменная? В php мы используем isset($variable) чтобы проверить что-то вроде этого.

Благодарю.

Попробуйте следующее выражение:

 typeof(variable) != "undefined" && variable !== null 

Это будет верно, если переменная определена и не равна нулю, что эквивалентно тому, как работает isset PHP.

Вы можете использовать его следующим образом:

 if(typeof(variable) != "undefined" && variable !== null) { bla(); } 

JavaScript isset () на PHP JS

 function isset () { // discuss at: http://phpjs.org/functions/isset // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: FremyCompany // + improved by: Onno Marsman // + improved by: Rafał Kukawski // * example 1: isset( undefined, true); // * returns 1: false // * example 2: isset( 'Kevin van Zonneveld' ); // * returns 2: true var a = arguments, l = a.length, i = 0, undef; if (l === 0) { throw new Error('Empty isset'); } while (i !== l) { if (a[i] === undef || a[i] === null) { return false; } i++; } return true; } 

typeof будет служить цели, я думаю

 if(typeof foo != "undefined"){} 

Если вы хотите проверить, существует ли свойство: hasOwnProperty – это путь

И поскольку большинство объектов являются свойствами какого-либо другого объекта (в конечном итоге приводящего к объекту window ), это может хорошо работать для проверки того, были ли объявлены значения.

Не естественно, нет … Однако, поиск в Google: http://phpjs.org/functions/isset:454

http://phpjs.org/functions/isset:454

Проект phpjs является надежным источником. Множество js-эквивалентных php-функций доступно там. Я использую это с давних пор и не нашел проблем до сих пор.

Проблема в том, что передача неопределенной переменной функции вызывает ошибку.

Это означает, что вам нужно запустить typeof перед передачей его в качестве аргумента.

Самый чистый способ, который я нашел, это сделать так:

 function isset(v){ if(v === 'undefined'){ return false; } return true; } 

Применение:

 if(isset(typeof(varname))){ alert('is set'); } else { alert('not set'); } 

Теперь код намного компактнее и читабельнее.

Это все равно даст ошибку, если вы попытаетесь вызвать переменную из неконкретизируемой переменной, например:

 isset(typeof(undefVar.subkey)) 

поэтому перед попыткой выполнить это необходимо убедиться, что объект определен:

 undefVar = isset(typeof(undefVar))?undefVar:{}; 

Вот 🙂

 function isSet(iVal){ return (iVal!=="" && iVal!=null && iVal!==undefined && typeof(iVal) != "undefined") ? 1 : 0; } // Returns 1 if set, 0 false 

в дополнение к ответу @ emil-vikström , проверка variable!=null будет верна для variable!==null а также для variable!==undefined (или typeof(variable)!="undefined" ).

Некоторые части каждого из этих ответов работают. Я скомпилировал их все в функцию «isset» так же, как задавал вопрос, и работает так, как в PHP.

 // isset helper function var isset = function(variable){ return typeof(variable) !== "undefined" && variable !== null && variable !== ''; } 

Вот пример использования того, как его использовать:

 var example = 'this is an example'; if(isset(example)){ console.log('the example variable has a value set'); } 

Это зависит от ситуации, в которой вы нуждаетесь, но позвольте мне сломать, что делает каждая часть:

  1. typeof(variable) !== "undefined" проверяет, определена ли переменная вообще
  2. variable !== null проверяет, равна ли переменная null (некоторые явно задают значение null и не думают, что она установлена ​​в нуль, что это правильно, в этом случае удалите эту часть)
  3. variable !== '' проверяет, установлена ​​ли переменная в пустую строку, вы можете удалить ее, если пустая строка подсчитывается как заданная для вашего случая использования

Надеюсь, это поможет кому-то 🙂

Вы можете просто:

 if(variable||variable===0){ //Yes it is set //do something } else { //No it is not set //Or its null //do something else }