我正在学习JavaScript,在浏览jQuery库时看到:
(冒号)被频繁使用。在JavaScript中,这用于什么?
// Return an array of filtered elements (r)
// and the modified expression string (t)
return { r: r, t: t };
我正在学习JavaScript,在浏览jQuery库时看到:
(冒号)被频繁使用。在JavaScript中,这用于什么?
// Return an array of filtered elements (r)
// and the modified expression string (t)
return { r: r, t: t };
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对象表示法),它在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
这些通常是 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 语句中
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 || '默认值';
等同于
var a = false, b = a : '默认值';
- Shaun Cockerill它可以用来列出变量中的对象。此外,在 if 语句的速记符号中也略微使用了它:
var something = {face: 'hello',man: 'hey',go: 'sup'};
并且这样调用它。
alert(something.man);
同时,if语句:
function something() {
(some) ? doathing() : dostuff(); // if some = true doathing();, else dostuff();
}
我们不要忘记 switch 语句,在每个 "case" 后使用冒号。
const person = {
nickNameThatIUseOnStackOverflow: "schlingel",
age: 30,
firstName: "John"
};
let { nickNameThatIUseOnStackOverflow: nick } = person; // I take nickNameThatIUseOnStackOverflow but want to refer it as "nick" from now on.
nick = "schling";
如果你使用第三方库返回一些拥有不方便/冗长变量名称的值,而你想在自己的代码中将其重命名,则这很有用。
那是JSON,或JavaScript对象表示法。它是描述对象或哈希映射的快速方式。冒号前面的东西是属性名称,冒号后面的是它的值。所以在这个例子中,有一个名为“r”的属性,其值是变量r中的任何内容。t也是如此。