10 ответов:
var o = { r: 'some value', t: 'some other value' };функционально эквивалентно
var o = new Object(); o.r = 'some value'; o.t = 'some other value';
а также двоеточие можно использовать для обозначения оператора. например
var i = 100, j = 100; outerloop: while(i>0) { while(j>0) { j++ if(j>50) { break outerloop; } } i++ }
вы, ребята, забываете, что двоеточие также используется в тернарном операторе (хотя я не знаю, использует ли его для этой цели jquery).
тернарный оператор является формой выражения (выражения возвращают значение) оператора if/then. он используется следующим образом:
var result = (condition) ? (value1) : (value2) ;тернарный оператор также может быть использован для получения побочных эффектов, таких как if/then, но это глубоко плохая практика.
': 'является разделителем для пар ключевых значений в основном. В вашем примере это буквенное обозначение объекта 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 литерал обозначение в языке JavaScript отличается от стандарта JSON для передачи сообщений. Основное разница между 2 заключается в том, что функции и конструкторы не являются частью стандарт JSON, но разрешены в литералах объектов JS.
это часть синтаксиса литерала объекта. Основной формат:
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
Он может быть использован для перечисления объектов в переменной. Кроме того, он используется немного в стенографии, если фразу:
var something = {face: 'hello',man: 'hey',go: 'sup'};и называя это так
alert(something.man);также предложение if:
function something() { (some) ? doathing() : dostuff(); // if some = true doathing();, else dostuff(); }
Это JSON, или обозначение объекта JavaScript. Это быстрый способ описания объекта, или хэш-карту. Вещь перед двоеточием-это имя свойства, а вещь после двоеточия-это его значение. Итак, в этом примере есть свойство "r", значение которого равно тому, что находится в переменной r. то же самое для t.
это, как правило, сценарии, где двоеточие': 'используется в JavaScript
1 - объявление и инициализация объекта
var Car = {model:"2015", color:"blue"}; //car object with model and color properties2 - Установка метки (не рекомендуется, так как это приводит к сложной структуре управления и код спагетти)
List: while(counter < 50) { userInput += userInput; counter++; if(userInput > 10000) { break List; } }3 - В Операторе Switch
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";
одна глупая ошибка, которую я сделал некоторое время назад, что может помочь некоторым людям.
имейте в виду, что если вы используете ":" в таком случае, значение не изменится
var ondrag = (function(event, ui) { ... nub0x: event.target.offsetLeft + event.target.clientWidth/2; nub0y = event.target.offsetTop + event.target.clientHeight/2; ... });таким образом, "nub0x" инициализируется с первым событием, которое происходит, и никогда не изменит его значение. Но "nub0y" изменится во время следующих событий.
Comments