Я часто вижу много сокращенных условных заявлений о выражении выражения в кодах великих людей повсюду. После прочтения некоторых статей, представленных в этом аспекте, я думаю, что 3 способа 2 говорят, что если эта статья (http://www.thomasfrank.se/3_ways_2_say_if.html) неплохой. В этой статье автор суммировал характеристики и использование традиционных выражений if ... else ...,?:, &&/|| и суммировал их следующим образом:
1. Если ... еще структура
// Установить R на 0 или 1 var r = math.floor (2*math.random ()) // Установить A, B и C на «Small», если r == 0 and else установите их на «Большой» // Использование трех различных методов // Метод 1: Если еще var a; if (r == 0) {a = "small"} else {a = "big"}; // Метод 2: Условный оператор var b = r == 0? "маленький": "большой"; // Метод 3: и/или операторы var c = r == 0 && "small" || "большой"; // Проверьте значения наших переменных оповещения (r+""+a+""+b+""+c);2. Если ... еще если ... еще структура
// Установить r на 0,1,2 или 3 var r = math.floor (4*math.random ()) // Установить A, B и C на «Nada», «Small», «Big» и «огромный» // в зависимости от значения или R, используя три различных метода // Метод 1: если ... иначе ... иначе var a; if (r == 0) {a = "nada"} else if (r == 1) {a = "small"} else if (r == 2) {a = "big"} else {a = "Огромный"}; // Метод 2: условные операторы var b = r == 0? "NADA": r == 1? "Маленький": r == 2? «Большой»: «Огромный»; // Метод 3: и/или операторы var c = r == 0 && "nada" || r == 1 && "small" || r == 2 && "big" || "огромный"; // Проверьте значения наших переменных оповещения (r+""+a+""+b+""+c);3. Выполните функцию
// Установить R на 0,1,2 или 3 var r = math.floor (4*math.random ()) // Глобальная переменная x и наши четыре функции var x = ""; nada = function () {x+= "nada!"}; small = function () {x+= "small!"}; big = function () {x+= "big!"}; огромный = function () {x+= "Огромный!"}; // Вызовите определенную функцию в зависимости от значения r //, используя три различных метода // Метод 1: Если .. else, если ... else ... else if (r == 0) {nada ()} else if (r == 1) {small ()} else if (r == 2) {big ()} else {огромный ()}; // Метод 2: условные операторы r == 0? nada (): r == 1? small (): r == 2? big (): огромный (); // Метод 3: и/или операторы r == 0 && (nada () || true) // nada () Функция не обязательно возвращает true. Чтобы гарантировать, что последующая логика или || Суждения не выполняются, необходимо возвращать истинную ценность, то же самое ниже || r == 1 && (small () || true) || r == 2 && (big () || true) || огромный(); // Проверьте значения наших переменных оповещения (r+""+x);4. Выполните код
// Установить R на 0,1,2 или 3 var r = math.floor (4*math.random ()) // Глобальная переменная x var x = ""; // Выполнение различного кода в зависимости от значения r // Использование трех различных методов // Метод 1: Если .. else if ... else if (r == 0) {x+= "nada!"} Else if (r == 1) {x+= "small!"} Else if (r == 2) {x+= "big!"} Else {x+= " // Метод 2: условные операторы r == 0? function () {x+= "nada!"} (): r == 1? function () {x+= "small!"} (): r == 2? function () {x+= "big!"} (): function () {x+= "Огромный!"} (); // Метод 3: и/или операторы r == 0 && (function () {x+= "nada!"} () || true) // кто -то указал в комментарии, что анонимные функции здесь ненужны, и это случай, когда есть только один исполняемый код, но если есть несколько кодов, анонимные функции все еще хороши || r == 1 && (function () {x+= "small!"} () || true) || r == 2 && (function () {x+= "big!"} () || true) || function () {x+= "Огромный!"} (); // Проверьте значения наших переменных оповещения (r+""+x);В этой онлайн -статье автора сосредоточена на кратковременной коде, поэтому в общем, автор предпочитает использовать оператор?: Считает, что && и || Методы должны набрать еще несколько букв, что делает его более громоздким. При выполнении функций удобнее использовать традиционные, если ... иначе. В своих комментариях некоторые люди предположили, что упрощение и короче кода клиента является более эффективным, чем повышение некоторой незаметной эффективности работы, что также является правильным в некоторых программах. Следовательно, может быть более важно выбрать более краткую форму для обработки условных утверждений с формальной точки зрения, чем операционная эффективность самих этих утверждений, не говоря уже о том, что операционная эффективность будет варьироваться от UA до UA.
В решении о том, что есть только два условия, используя if ... else или?: Оба довольно просты, в то время как методы работы && и || немного сложны. Но на самом деле, если вы понимаете следующие два основных принципа, все проблемы будут решены:
Во -первых, при использовании логики и && и логично или || Операторы, направление слева направо. Остановки &&, когда первое значение является ложным (или значением, которое может быть преобразовано в FALSE, например, NULL/Undefined/0/""/NAN и т. Д.), И останавливается, когда первое значение верно (или значение, которое может быть преобразовано в TRUE); Значение, возвращаемое всем условием, является значением последнего обнаруженного условия, не обязательно просто верно/false.
Во -вторых, логика имеет более высокий приоритет, чем оператор &&, чем логический или оператор.
В соответствии с первым принципом, r == 0 и «маленькие» рассчитываются по порядку слева направо. Если r == 0 верно, «маленький» будет обнаружен. «Маленькая»-это непустая строка, поэтому C будет восприниматься как «маленькая»; Если r == 0 является ложным, второе условие «Большое» обнаружение логики или || напрямую начинается. Точно так же, C следует воспринимать как «большой». Согласно второму принципу, нет необходимости добавлять кронштейны во время работы переменной C в приведенном выше коде.
С тех пор, как использует ?: и &&, || Операторы могут сыграть роль в упрощении кода в определенной программе, он очень важен в библиотечном исходном коде, таком как jQuery. Таким образом, этот тип оператора имеет два основных приложения: одно - назначить или возвращать значения, а другой - выполнить код (на данный момент, классифицируйте его).
Использование для назначения повсюду в JQUERY или других библиотеках. Классическое приложение заключается в реализации функции значений по умолчанию для интерфейсов. Мы можем легко написать такой код, например:
var myobj = function (options) {var color = options.color || this.defaults.defaults; var founalcolor = options.backgroundcolor || this.defaults.backgroundcolor;}; myobj.prototype.defaults = {color: "#393939", founalcolor: "#222"} var myins = new myobj ({color: "#80ff80"}); консоли.log ("color:"+myins.color+", anovercolor:"+"+"+".Будь то работает?
(xmlhttprequest.readystate == 4 && xmlhttprequest.status == 200)? Alert («Успех!»): оповещение («неудача!»);
Поэтому, если есть несколько кодов, которые необходимо выполнить, следует использовать анонимные функции. нравиться:
(xmlhttprequest.readystate == 4 && xmlhttprequest.status == 200)? function () {alert ("успех!"); var a = 100; Alert (a);}: alert ("неудача!");В исходном коде JQUERY 1.7.1 слишком много сокращений, таких как строка 2643:
// крючок для логических атрибутов boolhook = {get: function (elem, name) {// Выравнивать логические атрибуты с соответствующими свойствами // возвращаться к атрибуту присутствия, где некоторые логины не поддерживаются var attrnode, property = jquery.prop (elem, name); Вернуть свойство === true || TypeOf свойство! == "Boolean" && (attrnode = elem.getattributeNode (name)) && attrnode.nodevalue! == false? name.tolowercase (): не определен; }, set: function () {...}}Кажется, что мы должны продолжать учиться и суммировать.
Вышеуказанное условное предложение JavaScript (рекомендуется) - это весь контент, который я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.