首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用javascript中函数之外的变量

调用javascript中函数之外的变量
EN

Stack Overflow用户
提问于 2017-09-13 08:21:33
回答 1查看 57关注 0票数 3

我对javascript和firebase很陌生。我只想问一问,是否有机会在函数之外调用我的变量?

下面是我的示例代码:

代码语言:javascript
复制
function gotData (data) {
  console.log(data.val())
  var promotions = data.val()
  var keys = Object.keys(promotions)
  console.log(keys)
  for (var i = 0; i < keys.length; i++) {
    var k = keys[i]
    var name = promotions[k].promotionName
    var description = promotions[k].description
    var validityFrom = promotions[k].validityPeriodFrom
    var validityTo = promotions[k].validityPeriodTo
    var dateCreated = promotions[k].dateCreated
    var dateUpdated = promotions[k].dateUpdated
    console.log(name, description, validityFrom, validityTo, dateCreated, dateUpdated)
  }
}

我可以在函数validityFrom之外调用名称、描述、gotData等吗?我会感谢你的帮助。(预先多谢!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-13 08:24:41

将变量定义为全局变量

代码语言:javascript
复制
//above function
var name, description, validityFrom, validityTo, dateCreated, dateUpdated;
function gotData (data) {
  console.log(data.val())
  var promotions = data.val()
  var keys = Object.keys(promotions)
  console.log(keys)
  for (var i = 0; i < keys.length; i++) {
    var k = keys[i]
    name = promotions[k].promotionName
    description = promotions[k].description
    validityFrom = promotions[k].validityPeriodFrom
    validityTo = promotions[k].validityPeriodTo
    dateCreated = promotions[k].dateCreated
    dateUpdated = promotions[k].dateUpdated
    console.log(name, description, validityFrom, validityTo, dateCreated, dateUpdated)
  }
}
// now you can access variables here
console.log(name, description, validityFrom, validityTo, dateCreated, dateUpdated)

编辑

您可以创建一个数组来获取所有变量,因为您可能拥有多维数据。

代码语言:javascript
复制
var objData = [];
function gotData (data) {

  console.log(data.val())
  var promotions = data.val()
  var keys = Object.keys(promotions)

  for (var i = 0; i < keys.length; i++) {
    var tempObj = [];
    var k = keys[i]
    tempObj['promotionName'] = promotions[k].promotionName;
    tempObj['description'] = promotions[k].description;
    tempObj['validityPeriodFrom'] = promotions[k].validityPeriodFrom;
    tempObj['validityPeriodTo'] = promotions[k].validityPeriodTo;
    tempObj['dateCreated'] = promotions[k].dateCreated;
    tempObj['dateUpdated'] = promotions[k].dateUpdated;

    objData.push(tempObj);
  }
  console.log(objData)
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46192463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档