Основная проблема, о которой я думаю, заключается в том, является ли назначение переменной в операторе if безопасным и надежным в разных браузерах. Если это безопасно, я бы хотел использовать его.Мне нравится этот трюк ... но он безопасен в JavaScript
Здесь он читает запрос и если переменная SN с переменными числа строк является либо щебетать, либо Facebook, то она вводит значение if, и вы можете использовать переменную, если переменная querystring не существует или имеет другое значение, то она переходит в остальное.
if(socialNetwork = (window.location.search.indexOf("SN=Twitter") > 0) ? "Twitter" : ((window.location.search.indexOf("SN=Facebook") > 0) ? "Facebook" : null))
{
alert(socialNetwork);
}
else
{
alert("nope");
}
Чтобы быть тупым, что код бога-ужасно читать и независимо от безопасности в JavaScript вы должны никогда не делайте этого, ради других людей, которые могут захотеть прочитать ваш код в будущем. Одного Джона Ресига достаточно для этого мира. –
@Marc Я думал, что Джон был довольно консервативным, по стилю; прочитайте руководство по стилю jQuery. Может быть, вы знаете кое-что, чего я не делаю :-) – Pointy
Я полностью согласен с Marc W. Независимо от того, работает ли это, сделайте код более понятным. Я могу взглянуть на эту линию на мгновение и не знаю, что она делает. – Aaron