javascript - 为什么这个变量引用不起作用?

标签 javascript extjs

this.prefixMonday[0] 存在于当前范围内 this.prefixMonday 是三个复选框的数组 这是在面板扩展的 initComponent 方法内

this.weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];

for(var i = 0; i<7; i++){
   this['prefix' +this.weekdays[i] +'[0]'].on('check',this.someFunction, this);
}

Firebug 说找不到:this['prefix' +this.weekdays[i] +'[0]']

最佳答案

我很确定您必须访问

this['prefix' +this.weekdays[i]][0]

否则 JavaScript 将搜索恰好包含字符串“prefixMonday[0]”的键,并且 我认为这不是你想要的。为了使其更具可读性,您可能需要使用辅助变量来存储名称:

for(var i = 0; i<7; i++){
    var key = 'prefix' +this.weekdays[i];
    this[key][0].on('check',this.someFunction, this);
}

关于javascript - 为什么这个变量引用不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5095606/

相关文章:

javascript - OnClick 无法在 ActionLink -ASP.NET MVC 中阻止

javascript - jquery droppable 基于条件

javascript - 蒙戈错误: cursor killed or timed out - Meteor timeout settings ineffective

javascript - 使用 Jquery 加载文档时选择下拉选项

javascript - 多选复选框不返回 Extjs 4.2 网格中的值

extjs - 如何将项目添加到Extjs面板上的确切位置

javascript - 如何使 ExtJS 拖放树只被复制——而不是从显示中删除项目?

javascript - 某些 Greasemonkey 脚本顶部的这一行是什么?

ExtJs - 通过 Gridpanel 的索引获取行

javascript - 无法在 Ext.draw.Container 构造函数中添加 Sprite