【问题标题】:JS: How may I access a variable value inside a function that's inside another function, and that both functions belong to the same object?JS:我如何访问另一个函数内部的一个函数中的变量值,并且这两个函数属于同一个对象?
【发布时间】:2016-06-08 22:06:54
【问题描述】:

在本例中,如何将 for 循环中 i var 的值放入 guardarReserva() 函数?

guardarReserva() 和generarGrilla() 是同一个myApp 对象的两个方法

var myApp = {
    generarGrilla:function(){
        for(var i=1; i<13; i++){
            var impresionGrilla = $('#grilla').append("one");
        };
    },
    guardarReserva:function(){
        var reservaConfirmada = $('#horario').append("two");
    },

【问题讨论】:

  • 你的标题让我头疼
  • i 怎么用在另一个??
  • 在 for 循环中为每个结果中的每个 div 做一些事情,在第二个函数中使用类似 $('#horario'+i) 的东西
  • 呃...你就不能像$('#grilla').children().length那样做吗?

标签: javascript variables methods


【解决方案1】:

您需要在两个函数之外定义i

var myApp = {
    i:0,
    generarGrilla:function(){
        for(this.i=1; this.i<13; this.i++){
            var impresionGrilla = $('#grilla').append("one");
        };
    },
    guardarReserva:function(){
        var reservaConfirmada = $('#horario').append("two");
        console.log(this.i);//i is now accessible
    },

你也可以使用全局变量:

var i;
var myApp = {
    generarGrilla:function(){
        for(i=1; i<13; i++){
            var impresionGrilla = $('#grilla').append("one");
        };
    },
    guardarReserva:function(){
        var reservaConfirmada = $('#horario').append("two");
        console.log(i);//i is now accessible
    },

【讨论】:

  • 有比使其全球化更好的解决方案。
  • 属性值的一个缺点是它们不能像全局变量或闭包一样在成员初始化期间使用...
  • 是的 - 我已经添加了全局的方法
  • 您可能需要重新加载,我在几次编辑前编辑了该行的var 部分:p
  • 没问题!很高兴有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 2022-12-06
  • 2020-08-07
  • 2022-10-24
  • 2015-05-16
相关资源
最近更新 更多