Відповіді:
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) ;
Потрійний оператор також може бути використаний для отримання побічних ефектів так само, як і тоді, але це є дуже поганою практикою.
Значення ':' є в основному роздільником для ключових пар значень. У вашому прикладі це літеральна примітка Javascript Object.
У 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 на мові JavaScript відрізняється від стандарту JSON для передачі повідомлення. Основна відмінність двох полягає в тому, що функції та конструктори не є частиною стандарту 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
З його допомогою можна перераховувати об'єкти змінної. Крім того, він використовується трохи у скороченні речення if:
var something = {face: 'hello',man: 'hey',go: 'sup'};
І називати це так
alert(something.man);
Також пропозиція if:
function something() {
(some) ? doathing() : dostuff(); // if some = true doathing();, else dostuff();
}
Не будемо забувати оператор перемикання, де двокрапка використовується після кожного "випадку".
Це, як правило, сценарії, де двокрапка ':' використовується в 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";
||. Приклад: var a = false, b = a || 'Default value';еквівалентноvar a = false, b = a : 'Default value';
Це JSON або JavaScript Object Notation. Це швидкий спосіб опису об'єкта або хеш-карти. Реч перед двокрапкою - це властивість, а річ після двокрапки - її значення. Отже, у цьому прикладі є властивість "r", значення якої є будь-якою у змінної r. Те саме для т. Зв.
Одна дурна помилка, яку я зробив деякий час тому, яка могла б допомогти деяким людям.
Майте на увазі, що якщо ви використовуєте ":" у такому випадку, значення не зміниться
var ondrag = (function(event, ui) {
...
nub0x: event.target.offsetLeft + event.target.clientWidth/2;
nub0y = event.target.offsetTop + event.target.clientHeight/2;
...
});
Тож "nub0x" ініціалізується з першою подією, яка трапиться, і ніколи не змінить свого значення. Але "nub0y" зміниться протягом наступних подій.
event.target.offsetLeft + event.target.clientWidth/2;запускається кожного разу, коли викликається метод ondrag, але ніколи не призначайте значенняnub0x
:обробка трактується так, ніби це було ||. Тому event.target.offsetLeft + event.target.clientWidth/2;буде запускатись лише кожен раз, коли надається nub0xприрівнюється до false.
Інше використання двокрапки в JavaScript - це перейменування змінної, тобто:
const person = {
nickNameThatIUseOnStackOverflow: "schlingel",
age: 30,
firstName: "John"
};
const { nickNameThatIUseOnStackOverflow: nick } = person; // I take nickNameThatIUseOnStackOverflow but want to refer it as "nick" from now on.
nick = "schling";
Це корисно, якщо ви використовуєте сторонню бібліотеку, яка повертає значення, що мають незручні / довгі імена змінних, які ви хочете перейменувати у своєму коді.