回答:
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)とも呼ばれ、サーバー側の言語でコンパクトかつ迅速に解析でき、JavaScriptはJSON文字列をオブジェクトに簡単に逆シリアル化できるため、AJAX呼び出しで役立ちます。
// The parenthesis '(' & ')' around the object are important here
var o = eval('(' + "{key: \"value\"}" + ')');
キーに特殊文字やスペースが含まれている場合は、引用符で囲むこともできますが、操作が難しくなるためお勧めしません。
ことを覚えておいてくださいJavaScriptのオブジェクトリテラル記法 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
変数内のオブジェクトをリストするために使用できます。また、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- 3項演算子
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の値です。tについても同じです。
少し前に私が行った愚かな間違いの1つは、一部の人々を助けるかもしれません。
このようなイベントで「:」を使用している場合、値は変更されないことに注意してください
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でのコロンのもう1つの使用法は、変数の名前を変更することです。
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";
これは、コードで名前を変更する厄介な/長い変数名を持つ値を返すサードパーティライブラリを使用する場合に役立ちます。