Answers:
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
我们不要忘记switch语句,在每个“ case”之后都使用冒号。
这些通常是在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";
}
四进位三元运算符
document.getElementById("demo").innerHTML = age>18? "True" : "False";
||
。范例:var a = false, b = a || 'Default value';
相当于var a = false, b = a : 'Default value';
那是JSON或JavaScript对象符号。这是描述对象或哈希图的快速方法。冒号前的内容是属性名称,冒号后的内容是属性值。因此,在此示例中,有一个属性“ 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";
如果您使用第三方库返回具有要在代码中重命名的笨拙/长变量名的值,这将很有用。