2012-01-26 16 views
5

Używałem JavaScriptu przez pewien czas i uważałem, że przydałby się (szczególnie dla tych, którzy nowi w tym języku) lista moich ulubionych skrótów.Jakie są popularne skróty/triki JavaScript?

Trójkątny operatora

wymienić: if(a) then {b} else {c} Z: (a) ? b:c;

Jednoargumentowy oraz operatora

wymienić parseInt(x,10) + parseInt(y,10) z +x + +y

tworzenia macierzy

Wymień var ary = new Array(); z var ary = [];

deklarowania zmiennych

Wymień var x; var y; var z = 3; z var x, y, z=3;

wielowierszowym ciąg (styl prawie tu-doc)

Wymienić:

var str = 'this'; 
var str += 'covers'; 
var str += 'multiple'; 
var str += 'lines'; 

z:

var str = 'this \ 
covers \ 
multiple \ 
lines"; 

Co inni używacie?

+0

'var str + = 'covers';' jest nieprawidłowe. Metody konwersji liczb zdecydowanie nie są równe, patrz [Porównanie wszystkich metod konwersji liczb] (http://stackoverflow.com/a/8112802/938089?are-there-are-any-side-effects-of-using- this-method-to-convert-a-string-to-an-in). –

+0

@PlatinumAzure Myślę, że OP oznacza "Zezwalaj na zapisywanie ciągów na wielu liniach", ponieważ sugerowana metoda nie obejmuje również linii nowej. –

+0

Ups, całkiem dobrze. Usuwam mój drugi komentarz. –

Odpowiedz

0

To nie jest pytanie.

Ale można użyć:

var a = {}; 

zamiast:

var a = new Object(); 
0

Myślę, że jednym z nich będzie utworzenie obiektu:

var obj = {}; zamiast var obj = new Object();

0

Możesz użyć funkcji sprawdzania list. Szczególnie przydatna, jeśli utworzyć metodę zakres:

function range(n) { 
    for (var i = 0; i < n; i++) 
    yield i; 
} 

[2 * x for (x in range(100)) if (x * x > 3)] 

zamiast:

var myArray = [] 

for (x in range(100)){ 

    if (x * x > 3) 
    { 
     myArray.push(2*x); 
    } 

} 

(przykład pobranych z wikipedia)

+0

to "[2 * x dla (x w zakresie (100)), jeśli (x * x> 3)]" poprawna składnia javascript? –

+0

Wierzę, że od 1.7, powinien utworzyć tablicę^_^ – JackalopeZero

+0

na podstawie http://en.wikipedia.org/wiki/JavaScript#Versions, próbowałem uruchomić go w FF9 (> 3), i wyskakuje błąd JS. –

1

Konwersja na łańcuch dodając pusty ciąg. Przykład:

var n = 1; 
var s = 1 + ''; 
4

Aby skrócić blok warunków.

Od:

var x; 

if (a) { 
    x = a; 
} else if (b) { 
    x = b; 
} else { 
    x = 100; 
} 

do:

x = a || b || 100; 

Można użyć & & zrobić podobną logikę, jak również.