Réponses:
var o = {
r: 'some value',
t: 'some other value'
};
est fonctionnellement équivalent à
var o = new Object();
o.r = 'some value';
o.t = 'some other value';
Et aussi, un deux-points peut être utilisé pour étiqueter une instruction. par exemple
var i = 100, j = 100;
outerloop:
while(i>0) {
while(j>0) {
j++
if(j>50) {
break outerloop;
}
}
i++
}
Vous oubliez que les deux points sont également utilisés dans l'opérateur ternaire (bien que je ne sache pas si jquery l'utilise à cette fin).
l'opérateur ternaire est une forme d'expression (les expressions renvoient une valeur) d'une instruction if / then. il est utilisé comme ceci:
var result = (condition) ? (value1) : (value2) ;
Un opérateur ternaire pourrait également être utilisé pour produire des effets secondaires comme si / alors, mais c'est une pratique profondément mauvaise.
Le «:» est un délimiteur pour les paires clé / valeur. Dans votre exemple, il s'agit d'une notation JavaScript Object Literal.
En javascript, les objets sont définis avec le signe deux-points délimitant l'identifiant de la propriété et sa valeur afin que vous puissiez avoir les éléments suivants:
return {
Property1 : 125,
Property2 : "something",
Method1 : function() { /* do nothing */ },
array: [5, 3, 6, 7]
};
puis utilisez-le comme:
var o = {
property1 : 125,
property2 : "something",
method1 : function() { /* do nothing */ },
array: [5, 3, 6, 7]
};
alert(o.property1); // Will display "125"
Un sous-ensemble de cela est également connu sous le nom de JSON (Javascript Object Notation), ce qui est utile dans les appels AJAX car il est compact et rapide à analyser dans les langages côté serveur et Javascript peut facilement désérialiser une chaîne JSON en un objet.
// The parenthesis '(' & ')' around the object are important here
var o = eval('(' + "{key: \"value\"}" + ')');
Vous pouvez également mettre la clé entre guillemets si elle contient une sorte de caractère spécial ou d'espaces, mais je ne le recommanderais pas car cela rend simplement les choses plus difficiles à travailler.
Gardez à l'esprit que la notation littérale d' objet JavaScript dans le langage JavaScript est différente de la norme JSON pour la transmission de messages. La principale différence entre les 2 est que les fonctions et les constructeurs ne font pas partie du standard JSON , mais sont autorisés dans les littéraux d'objet JS.
Cela fait partie de la syntaxe littérale de l'objet. Le format de base est:
var obj = { field_name: "field value", other_field: 42 };
Ensuite, vous pouvez accéder à ces valeurs avec:
obj.field_name; // -> "field value"
obj["field_name"]; // -> "field value"
Vous pouvez même avoir des fonctions comme valeurs, vous donnant essentiellement les méthodes de l'objet:
obj['func'] = function(a) { return 5 + a;};
obj.func(4); // -> 9
Il peut être utilisé pour lister des objets dans une variable. En outre, il est un peu utilisé dans la sténographie d'une phrase if:
var something = {face: 'hello',man: 'hey',go: 'sup'};
Et l'appelant comme ça
alert(something.man);
Aussi la phrase if:
function something() {
(some) ? doathing() : dostuff(); // if some = true doathing();, else dostuff();
}
N'oublions pas l'instruction switch, où deux points sont utilisés après chaque "case".
Ce sont généralement les scénarios où deux points ':' est utilisé dans JavaScript
1- Déclaration et initialisation d'un objet
var Car = {model:"2015", color:"blue"}; //car object with model and color properties
2- Définition d'une étiquette (non recommandé car il en résulte une structure de contrôle et un code Spaghetti compliqués)
List:
while(counter < 50)
{
userInput += userInput;
counter++;
if(userInput > 10000)
{
break List;
}
}
3- In Switch Statement
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- En opérateur ternaire
document.getElementById("demo").innerHTML = age>18? "True" : "False";
||. Exemple: var a = false, b = a || 'Default value';équivaut àvar a = false, b = a : 'Default value';
C'est JSON ou JavaScript Object Notation. C'est un moyen rapide de décrire un objet ou une carte de hachage. La chose avant les deux points est le nom de la propriété, et la chose après les deux points est sa valeur. Donc, dans cet exemple, il y a une propriété "r", dont la valeur est ce qui est dans la variable r. Idem pour t.
Une erreur stupide que j'ai faite il y a quelque temps qui pourrait aider certaines personnes.
N'oubliez pas que si vous utilisez ":" dans un événement comme celui-ci, la valeur ne changera pas
var ondrag = (function(event, ui) {
...
nub0x: event.target.offsetLeft + event.target.clientWidth/2;
nub0y = event.target.offsetTop + event.target.clientHeight/2;
...
});
Ainsi "nub0x" s'initialise avec le premier événement qui se produit et ne changera jamais sa valeur. Mais "nub0y" changera lors des prochains événements.
event.target.offsetLeft + event.target.clientWidth/2;s'exécute chaque fois que votre méthode ondrag est appelée, mais n'attribue jamais la valeur ànub0x
:est traité comme s'il s'agissait d'un fichier ||. Par conséquent, event.target.offsetLeft + event.target.clientWidth/2;ne déclenchera que chaque fois que fourni nub0xéquivaut à faux.
Une autre utilisation de deux points en JavaScript consiste à renommer une variable, c'est-à-dire:
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";
Ceci est utile si vous utilisez une bibliothèque tierce qui renvoie des valeurs ayant des noms de variables maladroits / longs que vous souhaitez renommer dans votre code.