Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Coding is art
Эксперт JS
540 / 423 / 154
Регистрация: 04.09.2013
Сообщений: 1,066

Передача условия в if через переменную

07.11.2013, 14:21. Показов 2035. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день

задача у меня следующая:
имеется переменная, которая хранит в себе условие,
нужно подставляя эту переменную в if добиться сравнивания условия ( а не самой переменной )

JavaScript
1
2
3
4
5
6
7
var compare = ' 1 > 2 ';
 
if( compare ) {
alert('true');
} else {
alert('false');
}
Нашёл на форуме следующее решение:

JavaScript
1
2
3
4
5
6
7
var compare = ' 1 > 2 ';
 
if( eval( compare ) ) {
alert('true');
} else {
alert('false');
}
но на сколько знаю eval() уязвима и многие настоятельно рекомендуют её избегать..

Собственно вопрос вот в чём:
как ещё можно сделать то что мне нужно, при этом не используя eval() функцию ? ( или может более безопасную функцию eval() - модификацию или ещё что.. )

У меня была мысль - определять переменную с типом данных, т.е. как integer или string и т.п. только вместо этих задавать специальный тип данных (который бы мне подошёл), вот только нигде не могу найти есть ли вообще такой тип данных, подскажите и по этому вопросу.
( я себе представляю это типо: var compare = (expression) '1 > 2'; где expression - ( названия ) объявление типа данных ).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2013, 14:21
Ответы с готовыми решениями:

Передача функции переменной и вызов переменной
Вот как реализовал, правда не работает)) Подскажите где что не так? При нажатии на button1...

Передача массива через POST и подгрузка файла через AJAX
Доброго времени суток. Задача такого : есть элемент select в котором можно выбрать несколько...

Запрос БД через PHP и передача содержимого через json_encode
Всем здравствуйте, нужно вывести из БД данные, которые захочет увидеть сам пользователь, через...

2
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
07.11.2013, 15:26
Почему условие передается именнов виде строки? Может, функция больше подойдет?
JavaScript
1
2
3
var condition = function () {
    return 1 > 2;
};
JavaScript
1
2
3
4
5
6
if (condition()) {
    alert(true);
}
else {
    alert(false);
};
0
Coding is art
Эксперт JS
540 / 423 / 154
Регистрация: 04.09.2013
Сообщений: 1,066
07.11.2013, 18:55  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Почему условие передается именнов виде строки? Может, функция больше подойдет?
JavaScript
1
2
3
var condition = function () {
    return 1 > 2;
};
JavaScript
1
2
3
4
5
6
if (condition()) {
    alert(true);
}
else {
    alert(false);
};
У меня получается, что код подставляемый в переменную находиться не в js..
т.е. он записан в скрытом <span data-hide >1 > 2</span>
а получаю его через var condition = $('span[data-hide]').text(); (например)

Я не очень в ладах с регулярными выражениями, может кто может мне написать рег выражение на проверку в строке наличия слов "function" ( и возможных сокращений под jQuery и другие фреймворки), а так же на "return" ?
буду проверять строку перед тем как пускать в eval ..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.11.2013, 18:55
Помогаю со студенческими работами здесь

Как передать переменную окна через текстовую переменную?
Открыл одно окно, потом второе, и хочу передать индетефикатор первого окна во второе, чтобы оно там...

Необходимо написать условие для передачи данных в инпут
Здравствуйте! Код: http://jsfiddle.net/CynFW/ Помогите, пожалуйста, реализовать следующее....

Передача условий сортирования по клику
Доброго времени суток. Собственно дела обстоят так: есть страница, на ней два блока - правый и...

Перезагрузить страницу Передача условий сортирования по клику
Доброго времени суток. Собственно дела обстоят так: есть страница, на ней два блока - правый и...

Почему выполняется условие else, если выполнилось условие if?
При вводе буквы, которое есть в переменной word, по идеи, если такой буквы нету, то должно выдать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru