62

这段代码也指的是什么?

queryString: function() {

//some code

}

我在 WebConsole (Firefox) 中对其进行了测试,但它不会执行,所以我认为它不等同于function queryString() {}.

那么它到底是什么?

4

5 回答 5

81

您在那里缺少一些代码,但我假设它是对象声明的一部分,如下所示:

var obj = {
  queryString: function() {
    //some code
  }
};
obj.queryString();

它将函数分配为对象文字的属性。这将等同于:

var obj = {};
obj.queryString = function() { ... };
obj.queryString();

通常,对象字面量语法如下所示:

{ key: value, otherKey: otherValue };

所以这在控制台中不起作用的原因是它没有包含在{}字符中,表示对象文字。并且此语法仅在对象文字中有效。

于 2012-02-21T20:47:04.203 回答
11

这可能在地图/对象声明中,如下所示:

var obj = {
    queryString: function() {
        alert('here');
    },
    eggs: function() {
        alert('another function');
    }
};

obj.queryString();
于 2012-02-21T20:47:29.997 回答
10

这是一个标签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"
于 2014-06-12T23:51:28.683 回答
9

:定义对象及其属性时使用。

var obj = {
   queryString: function() {
      //some code
   }
}

现在obj.queryString是你的功能。

于 2012-02-21T20:47:15.740 回答
1

什么

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 等,

于 2012-02-21T20:54:27.293 回答