Я знаю, что на это был дан ответ, но подумал, что это может помочь добавить дополнительную информацию, используя свой собственный код.
Как уже говорилось, переключение logical operator от ||
к &&
будет работать:
if (currentSiteUrl != "subsites/players.php" && currentSiteUrl != "subsites/itemshop.php")
Но почему?
Использования ||
Логический оператор ||
возвращает true
, если либо первое, либо второе выражение true
и только тогда, когда оба false
он будет возвращать false
.
Следовательно:
если currentSiteUrl != "subsites/players.php"
является true
вы в конечном итоге в if
блоке
если currentSiteUrl != "subsites/players.php"
является false
и currentSiteUrl != "subsites/itemshop.php"
является true
вы в конечном итоге в if
блоке
Никогда не будет другого сценария, так как ваша переменная currentSiteUrl
может содержать только одно значение, и как таковое одно из выражений всегда будет true
, в результате чего вы всегда окажетесь в блоке if
.
Использование &&
Использование логического оператора &&
с другой стороны, хотя доходность false
, если первый или второй выражение является false
и только тогда, когда оба true
он будет возвращать true
.
Следовательно:
если currentSiteUrl != "subsites/players.php"
является true
и currentSiteUrl != "subsites/itemshop.php"
является true
вы в конечном итоге в if
блоке
если currentSiteUrl != "subsites/players.php"
является true
и currentSiteUrl != "subsites/itemshop.php"
является false
вы не конца в блок if
если currentSiteUrl != "subsites/players.php"
является false
вы сделать не конец вверх в if
блоке
Там никогда не будет другой сценарий, потому что только если оба выражения являются true
вы в конечном итоге в if
блоке и, как скоро, как либо выражение false
вы не будете.
Где вы указываете 'currentSiteUrl'? – Bart
&& vs || ?, второе условие соответствует – David