微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在函数之外使用变量 - javascript

如何解决如何在函数之外使用变量 - javascript

我一直在寻找一种在函数之外获取变量的方法。这是我的代码片段。

for (var i = 0; i < results.length; i++) {
  var rawname = results[i].name
  var name = encodeURIComponent(results[i].name)
  var isdirectory = results[i].isDirectory
  var filesize = '""'
  //var modified = '10/13/15,10:38:40 AM'
  var modified = ''
  var extension = name.split('.').pop();
  // raw,urlencoded,isdirectory,size,if (extension == 'mp3' || extension == 'flac') {
    getEntryFile(results[i],function(file) {
      jsmediatags.read(file,{
        onSuccess: function(tag) {
          var image = tag.tags.picture;
          if (image) {
            var base64String = "";
            for (var i = 0; i < image.data.length; i++) {
              base64String += String.fromCharCode(image.data[i]);
            }
            var base64 = "data:" + image.format + ";base64," +
              window.btoa(base64String);
          }
        },onError: function(error) {
          console.log(error);
        }
      })
    })
    html.push('  {')
    html.push('    name: "' + rawname + '",')
    html.push('    artist: "' + rawname + '",')
    html.push('    image: "' + base64 + '",')
    html.push('    path: "' + name + '",')
    html.push('  },')
  }
}

我需要在 2 个函数之外获取 base64 变量并在 html.push() 函数中使用它。

请不要关闭这个问题。我在堆栈交换中搜索过类似的问题,但它们从未奏效。

我尝试过的一种方法是使用 window.base64a = base64 声明一个窗口变量,但它只是返回未定义。我该怎么做才能在函数之外获取我的变量?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。