这段代码是指什么?
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 };
所以,这段代码在控制台中无法正常工作的原因是它没有被包含在{}
字符中,表示对象字面量。而且这种语法仅在对象字面量中有效。
var obj = {
queryString: function() {
alert('here');
},
eggs: function() {
alert('another function');
}
};
obj.queryString();
:
用于定义对象及其属性。
var obj = {
queryString: function() {
//some code
}
}
现在obj.queryString
是你的函数。queryString
现在是obj
对象内的一个属性。obj.queryString
是一个对象属性,恰好是一个函数。 - gen_Eric这是一个标签 https://developer.mozilla.org/zh-CN/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 */ }
示例与您回答中的 switch 语句前的标签示例是不等价的。问题中的示例是对象字面声明的一部分,这是完全不同的。在问题的示例中,符号 queryString
后面跟着一个冒号(“:
”)是对象成员的名称,它的值是紧随其后的函数声明。 - Matthew这是什么
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等。