Что делает ":" (двоеточие) в JavaScript?

Я изучаю JavaScript и, просматривая библиотеку jQuery, я вижу, что : (двоеточие) используется много. Для чего это используется в JavaScript?

// Return an array of filtered elements (r)
// and the modified expression string (t)
   return { r: r, t: t };

Ответ 1

var o = {
    r: 'some value',
    t: 'some other value'
};

функционально эквивалентно

var o = new Object();
o.r = 'some value';
o.t = 'some other value';

Ответ 2

Кроме того, двоеточие можно использовать для обозначения оператора. например

var i = 100, j = 100;
outerloop:
while(i>0) {
  while(j>0) {
   j++

   if(j>50) {
     break outerloop;
   }
  }
i++

}

Ответ 3

Вы, ребята, забываете, что двоеточие также используется в тройном операторе (хотя я не знаю, использует ли jquery для этой цели).

тернарный оператор представляет собой форму выражения (выражения возвращают значение) оператора if/then. он используется следующим образом:

var result = (condition) ? (value1) : (value2) ;

Тернарный оператор также может использоваться для создания побочных эффектов, как если бы это было тогда, но это глубоко вредная практика.

Ответ 4

Параметр ":" является разделителем для пар значений ключей в основном. В вашем примере это условное обозначение объекта Javascript.

В javascript объекты определяются с двоеточием, ограничивающим идентификатор для свойства, и его значением, чтобы вы могли иметь следующее:

return { 
    Property1 : 125,
    Property2 : "something",
    Method1 : function() { /* do nothing */ },
    array: [5, 3, 6, 7]
};

а затем используйте его как:

var o =  { 
    property1 : 125,
    property2 : "something",
    method1 : function() { /* do nothing */ },
    array: [5, 3, 6, 7]
};

alert(o.property1); // Will display "125"

Подмножество этого также известно как JSON (Javascript Object Notation), которое полезно в вызовах AJAX, потому что оно компактно и быстро анализирует серверные языки, и Javascript может легко де-сериализовать строку JSON в объект.

// The parenthesis '(' & ')' around the object are important here
var o = eval('(' + "{key: \"value\"}" + ')');

Вы также можете поместить ключ внутри кавычек, если он содержит какой-то особый символ или пробелы, но я бы не рекомендовал это, потому что это просто затрудняет работу с.

Имейте в виду, что JavaScript Object Literal Notation на языке JavaScript отличается от стандарта JSON для передачи сообщений. Основное отличие между ними состоит в том, что функции и конструкторы не являются частью стандарта JSON, но допускаются в литералах объектов JS.

Ответ 5

Это часть синтаксиса литерала объекта. Основной формат:

var obj = { field_name: "field value", other_field: 42 };

Затем вы можете получить доступ к этим значениям с помощью:

obj.field_name; // -> "field value"
obj["field_name"]; // -> "field value"

Вы можете даже иметь функции как значения, в основном предоставляя вам методы объекта:

obj['func'] = function(a) { return 5 + a;};
obj.func(4);  // -> 9

Ответ 6

Его можно использовать для отображения объектов в переменной. Кроме того, он используется немного в сокращении предложения if:

var something = {face: 'hello',man: 'hey',go: 'sup'};

И называя это так

alert(something.man);

Также предложение if:

function something() {  
  (some) ? doathing() : dostuff(); // if some = true doathing();, else dostuff();
}

Ответ 7

Не забывайте оператор switch, где двоеточие используется после каждого "случая".

Ответ 8

Это JSON или JavaScript Object Notation. Это быстрый способ описания объекта или хэш-карты. Вещь перед двоеточием - это имя свойства, а вещь после двоеточия - ее ценность. Итак, в этом примере есть свойство "r", значение которого равно переменной r. То же самое для t.

Ответ 9

Это, как правило, сценарии, в которых двоеточие ":" используется в JavaScript

1- Объявление и инициализация объекта

var Car = {model:"2015", color:"blue"}; //car object with model and color properties

2- Установка метки (не рекомендуется, так как это приводит к сложной структуре управления и коду спагетти)

List: 
while(counter < 50)
{
     userInput += userInput;
     counter++;
     if(userInput > 10000)
     {
          break List;
     }
}

3- В заявлении о смене

switch (new Date().getDay()) {
    case 6:
        text = "Today is Saturday";
        break; 
    case 0:
        text = "Today is Sunday";
        break; 
    default: 
        text = "Looking forward to the Weekend";
}

4- В тройном операторе

document.getElementById("demo").innerHTML = age>18? "True" : "False";

Ответ 10

Одна глупая ошибка, которую я сделал некоторое время назад, что может помочь некоторым людям.

Имейте в виду, что если вы используете ":" в таком случае, значение не изменится

var ondrag = (function(event, ui) {
            ...

            nub0x: event.target.offsetLeft + event.target.clientWidth/2;
            nub0y = event.target.offsetTop + event.target.clientHeight/2;

            ...
        });

Итак, "nub0x" будет инициализироваться первым событием, которое произойдет и никогда не изменит его значение. Но "nub0y" изменится во время следующих событий.