在循环中运行对象属性函数
Running object property function in a loop
我正在遍历一个对象并将属性名称与给定参数进行比较;如果有匹配项,我希望执行属性函数。除了明确之外,我该如何称呼它?
对象:
@headers =
'foo': (obj)->
# do stuff
例程:
resolve: ('foo', item, obj)->
for prop of @headers
if prop == arguments[0]
# execute obj's foo property
好吧,你需要命名第一个参数,因为 CoffeeScript 不希望有字符串。
但是,如果我理解正确,您可以在成员运算符之后使用?
"存在"运算符(记录在运算符和别名的小节中):
resolve: (prop, item, obj)->
if @headers[prop]?
obj[prop]()
这将编译为:
resolve: function(prop, item, obj) {
if (this.headers[prop] != null) {
return obj[prop]();
}
}
而且,如果您还想在obj
上测试该方法,则可以将?
放在成员运算符和参数/调用括号之间:
obj[prop]?()
相关文章:
- 如何使对象属性函数成为事件发射器
- 属性函数的 JavaScript 初始值
- 类型错误: 无法设置未定义的属性<函数>
- Javascript set 属性函数不起作用
- 在循环中运行对象属性函数
- 为什么在枚举属性/函数时键长度不准确
- 主干模型获取属性函数返回上次更新的值
- 使用 Jquery 和对象属性函数时出现类型错误
- Javascript:属性函数中的引用
- 导出的目的是什么属性函数在挖空.js库中
- 检查全局属性/函数是否已在 JavaScript 中被覆盖
- 误解了输入文本值属性函数的正确使用
- 将onClick函数绑定到选项卡的href属性函数
- 当函数的属性函数被调用时,是否可以修改函数本身
- 命名对象属性函数
- Javascript -为什么要循环?(原型属性->构造函数属性->函数对象->构造函数属性)
- 如何从属性函数中引用上面的对象
- Javascript继承:子类型原型不能访问超类型的属性/函数
- 破坏性映射对象属性函数
- React.js:如何定义默认属性函数