Что означает этот код?
queryString: function() {
//some code
}
Я тестировал его в WebConsole (Firefox), но он не выполнялся, поэтому я думаю, что он не эквивалентен function queryString() {}
.
Так что же это такое?
Что означает этот код?
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 };
Поэтому причина, по которой это не работает в консоли, заключается в том, что она не была заключена в символы {}
, обозначая литерал объекта. И этот синтаксис действителен только в объектном литерале.
Это, вероятно, внутри объявления map/object, например:
var obj = {
queryString: function() {
alert('here');
},
eggs: function() {
alert('another function');
}
};
obj.queryString();
При определении объекта и его свойств используется :
.
var obj = {
queryString: function() {
//some code
}
}
Теперь 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"
Что
queryString: function() {
//some code
}
означает, что вы можете использовать queryString() для вызова функции, на которую она ссылается. Этот вид ссылок обычно используется, если вы хотите определить класс (или псевдокласс; P) в вашем javascript. Что-то вроде этого,
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 и использовать его для доступа к свойствам1, property2 и т.д.,