Uglifyjs - это инструмент для сжатия и украшения JavaScript. В своей документации я увидел несколько способов оптимизации операторов. Хотя я не использовал его для проведения некоторых пробных испытаний, мы можем видеть, что он украшает JS. Некоторые люди могут подумать, что если утверждения так просты, сколько они могут быть оптимизированы? Но посмотрите на следующие способы, и вы можете изменить свое мнение.
1. Используйте общие тройные операторы
if (foo) bar (); else baz (); ==> foo? bar (): baz ();
if (! foo) bar (); else baz (); ==> foo? baz (): bar ();
if (foo) return bar (); иначе вернуть baz (); ==> return foo? bar (): baz ();
Вы обязательно будете знакомы с вышеупомянутым использованием тройных операторов для оптимизации операторов, и, возможно, вы их часто используете.
Примеры, приведенные wulin.com:
Кода -копия выглядит следующим образом:
<Скрипт>
var i = 9
var ii = (i> 8)? 100: 9;
предупреждение (II);
</script>
Результат вывода:
100
2. Использовать и (&&) и или (||) Операторы
if (foo) bar (); ==> foo && bar ();
if (! foo) bar (); ==> foo || bar ();
Честно говоря, я никогда не писал такого кода. Я видел этот метод письма, когда изучал «Частный овощ Linux от Bird Bird's Linux», но я не ожидал реализовать его в JS.
3. Опустите кудрявые скобки {}
if (foo) return bar (); иначе что -то (); ==> {if (foo) return bar (); что-нибудь()}
Я знаком с этим методом написания, но я предлагаю сделать это при оптимизации кода или оставить его Uglifyjs, чтобы помочь вам решить его. В конце концов, если вам не хватает одной скобы, код не читается.
Написав это, я думаю о методе отца jQuery в «Освоение JavaScript», чтобы получить атрибуты элементов HTML.
function getattr (el, attrname) {
var attr = {'for': 'htmlfor', 'class': 'classname'} [attrname] || ATTRNAME;
};
Если мы не будем писать таким образом, нам может потребоваться использовать две операторы, чтобы обработать его, и приведенный выше код не только кратко и эффективен, но и очень читабелен.
Если вы подумаете об этом внимательно, мы можем найти эффективные способы решения проблемы во многих случаях, но ключ в том, осторожны ли мы, чтобы найти лучший способ.
【Навыки Javascript】 Аббревиатура, если (x == null)
if (x == null) или if (typeof (x) == 'undefined') может быть сокращено, как если бы (! x) и не проверено.
Напротив, если (x) означает, что x не пуст
Определить, существует ли объект
Кода -копия выглядит следующим образом:
if (document.form1.softurl9) {
// Судите, существует ли Softurl9 для предотвращения ошибок JS
}
Кода -копия выглядит следующим образом:
if (document.getElementById ("softurl9")) {
// Судите, существует ли Softurl9 для предотвращения ошибок JS
}
Пополнить:
JavaScript || && аббревиатура, если
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
Если вы хотите написать
if (! Неверно)
{
оповещение ('false');
}
Рассмотрим написание:
ложный || оповещение ('false');
ложный || оповещение ('false'); Верно || оповещение ('true'); // вывод FALSE;
При использовании «||» первое условие верно, а второе условие возвращается непосредственно без обнаружения второго условия. Первое условие неверно, а обнаружение второго условия будет выполнено.
false && alert ('false'); true && alert ('true'); // Вывод TRUE
При использовании «&&» первое условие верно, а второе условие будет обнаружено. Первое условие является ложным, и оно непосредственно возвращает ложь на выход.
Короче говоря, простая и практичность замены, если? : практичность замены, если еще. Напишите короткий и краткий код
Использование:
$ ("#regform input [type! = hidden]"). Каждый (
function (index) {
$ (this) .parent (). hast ("div.valid-under"). Длина || $ ('<div> </div>'). appendto ($ (this) .parent ());
}
);
</script>