このコードも何を参照していますか?
_queryString: function() {
//some code
}
_
WebConsole(Firefox)でテストしましたが、実行されないので、function queryString() {}
と同等ではないと考えています。
それで、それは正確に何ですか?
そこにはいくつかのコードがありませんが、私はそのようなオブジェクト宣言の一部を想定しています:
var obj = {
queryString: function() {
//some code
}
};
obj.queryString();
関数をオブジェクトリテラルのプロパティとして割り当てます。これはこれと同等です:
var obj = {};
obj.queryString = function() { ... };
obj.queryString();
一般に、オブジェクトリテラルの構文は次のようになります。
{ key: value, otherKey: otherValue };
コンソールでこれが機能しなかった理由は、オブジェクトリテラルを示す{}
文字で囲まれていないためです。そして、この構文はオブジェクトリテラルでのみ有効です。
これはおそらく次のようなマップ/オブジェクト宣言内にあります。
var obj = {
queryString: function() {
alert('here');
},
eggs: function() {
alert('another function');
}
};
obj.queryString();
それはラベルです https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label
var i, j;
loop1:
for (i = 0; i < 3; i++) { //The first for statement is labeled "loop1"
loop2:
for (j = 0; j < 3; j++) { //The second for statement is labeled "loop2"
if (i == 1 && j == 1) {
continue loop1;
}
console.log("i = " + i + ", j = " + j);
}
}
// Output is:
// "i = 0, j = 0"
// "i = 0, j = 1"
// "i = 0, j = 2"
// "i = 1, j = 0"
// "i = 2, j = 0"
// "i = 2, j = 1"
// "i = 2, j = 2"
// Notice how it skips both "i = 1, j = 1" and "i = 1, j = 2"
:
は、オブジェクトとそのプロパティを定義するときに使用されます。
var obj = {
queryString: function() {
//some code
}
}
今obj.queryString
は関数です。
何
queryString: function() {
//some code
}
つまり、queryString()を使用して、それが参照する関数を呼び出すことができます。この種類の参照は通常、javascriptでクラス(または擬似クラス; P)を定義する場合に使用されます。このようなもの、
var application= { namespace: {} };
application.namespace.class_name = function(){
function constructor(){
return {
exposed_property1 : property1,
exposed_property2 : property2,
...
...
}
}
//Write property/functions that you want to expose.
// Write rest of the function that you want private as function private(){}
};
したがって、コードの他の部分でclass_nameのオブジェクトを作成し、それを使用してproperty1、property2などにアクセスできます。