jQuery each()closure – 如何访问外部变量

前端之家收集整理的这篇文章主要介绍了jQuery each()closure – 如何访问外部变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
从$.each()中访问我的this.rules变量的最佳方法是什么?任何解释为什么/如何也将有所帮助!
app.Style = function(node) {
    this.style = node;
    this.rules = [];
    var ruleHolder = node.find('Rule');

    $.each(ruleHolder,function(index,value) {
        var myRule = new app.Rule($(ruleHolder[index]));
        this.rules.push(myRule);
    });

    console.log(this.rules)
}

解决方法

存储对此的引用 – 例如 – 将其命名为self,然后再调用.each(),然后使用self.rules访问规则:
app.Style = function(node) {
    this.style = node;
    this.rules = [];
    var ruleHolder = node.find('Rule');

    var self = this;
    $.each(ruleHolder,value) {
        var myRule = new app.Rule($(ruleHolder[index]));
        self.rules.push(myRule);
    });

    console.log(this.rules)
}

猜你在找的jQuery相关文章