我看了这段代码,经过一段时间的寻找并在互联网上寻找我仍然没有得到它。
var client = function (){
var engine = {
ie: 0,
gecko: 0,
webkit: 0,
version: null
};
return {
engine : engine
};
}();
我的具体问题是关于退货声明。我知道:
client
是var engine = { ... }
正在创建一个对象引擎的函数,其中包含一些属性和默认值,但我不理解return
以及为什么在函数中它有()
。
答案 0 :(得分:2)
此变量client
所指定的表达式都是
client
编写代码的方法更为冗长
var method = function(){
var engine = {
ie: 0,
gecko: 0,
webkit: 0,
version: null
};
return {
engine : engine
};
};
var client = method();
答案 1 :(得分:0)
内部函数返回一个关联数组(字典,如果你愿意),其中键engine
映射到engine
变量。冒号之前的“引擎”是字典键,被视为文本而不是变量。将其视为
return {
"engine" : engine
};
的作用相同。
因此,在此代码运行后,您可以访问client.engine
,这将获得内部函数中构建的“引擎”。
答案 2 :(得分:0)
它会创建一个如下所示的对象client
:
Object
engine: Object
gecko: 0
ie: 0
version: null
webkit: 0
我认为这是为了说明关于JavaScript的一些观点,因为它可以更简单地编写:
var client = {
engine: {
ie: 0,
gecko: 0,
webkit: 0,
version: null
}
};