JavaScript: объявление VAR с помощью оператора "или"

Код что-то вроде этого

var $page_products = $page_name == 'products-uninterruptible-power-supply.php' OR 'products-uninterruptible-power-supply-np2031.php';

я уже пробовал использовать

var $page_products = $page_name == 'products-uninterruptible-power-supply.php' || 'products-uninterruptible-power-supply-np2031.php';

но это все еще не работает. заранее спасибо!

3 ответа

Решение

Предполагая, что вы намерены объявить одну переменную, $page_products, который будет установлен в true, если $page_name равно любой из этих двух строк и false в противном случае, сделайте это:

var $page_products = $page_name == 'products-uninterruptible-power-supply.php'
           || $page_name == 'products-uninterruptible-power-supply-np2031.php';

РЕДАКТИРОВАТЬ: я только заметил, что оба имени страницы начинаются с одинаковых четырех слов, поэтому вместо сравнения с каждой строкой может подойти для проверки, является ли значение в $page_name начинается с этих слов, например:

var $page_products =
           $page_name.indexOf('products-uninterruptible-power-supply') === 0;

Это должно работать

var $page_products = ($page_name == 'products-uninterruptible-power-supply.php' || $page_name == 'products-uninterruptible-power-supply-np2031.php');

Если вы хотите назначить имя файла условно, то вам нужен троичный оператор:

var $page_products = ($page_name == 'products-uninterruptible-power-supply.php') ?
    'products-uninterruptible-power-supply.php' : 
    'products-uninterruptible-power-supply-np2031.php';
Другие вопросы по тегам