如何在另一个键/值对中使用定义的键
How can I use defined key in another key/value pair
>我有这个javascript对象:
return {
AccDocs: {
query: function() {
...
},
deleteAndQuery: function() {
...
AccDocs.query(); //Error: AccDocs is not defined
}
}
}
但是,它返回一个错误,指出AccDocs is not defined
.
我怎样才能实现这样的事情?
对象的变量和属性是不同的东西。如果不指定要指定的对象,则无法访问对象的属性。
您可能可以使用 this
关键字访问它:
this.query();
请记住,this
的值将根据函数的调用方式而变化(当调用a.b.c.d.AccDocs.deleteAndQuery()
时,deleteAndQuery
内部this
将被AccDocs
,因为它是最后一个.
左侧的第一个对象,但是如果您要先将query
复制到另一个变量,然后调用query()
, 将其传递给 setTimeout
,或者如果您要使用 call
或 apply
则 this
的值会更改)。
为了提高健壮性(但灵活性较低,因为能够更改上下文可能很有用),您可以将对象存储在可以按名称访问的变量中。
var AccDocs = {
query: function() {
...
},
deleteAndQuery: function() {
...
AccDocs.query();
}
};
return { AccDocs: AccDocs };
通过使用 this
关键字:
return {
AccDocs: {
query: function() {
...
},
deleteAndQuery: function() {
...
this.query(); //Here
}
}
}
相关文章:
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 要求定义另一个文件中的对象
- 同一项怎么可能在一个实例中未定义,却在另一个实例上定义
- 遍历SC.ManyArrray以创建要附加到SproutCore中的另一个视图的自定义视图
- 变量转换为另一个“未定义”的变量
- 如何使用其他自定义指令中的元素标记作为另一个自定义指令的模板
- 如何在来自另一个文件的控制器中定义变量
- 调用另一个自定义指令的角度自定义指令
- 如何使用另一个 JavaScript 文件中定义的类名调用回调函数
- 试图使一个事件依赖于另一个事件,并使用jquery自定义事件传递数据
- 从一个函数传递到另一个函数的变量在使用jQuery的.post之后变得未定义
- 如何调用另一个js文件中的函数或触发一个自定义事件,该事件将参数作为Jquery中的数据对象传递
- 如何使用在另一个文件中定义的JavaScript方法/对象
- MongoDB:如何调用另一个JS文件中定义的函数
- 在Node.js中,从同一文件中的另一个函数引用一个函数会导致'ReferenceError:-函数-未定义
- 在Angular 2中的另一个服务中注入自定义服务
- 将变量与字符串连接以定义另一个变量
- 在 JavaScript 中定义另一个函数中的函数
- 如何使用枚举定义另一个枚举
- 允许用户为JavsScript库定义另一个别名