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

如何将我的函数的结果存储在 JS 的父变量中?

如何解决如何将我的函数的结果存储在 JS 的父变量中?

我这里有一个小问题。 我的 console.log(e) 给了我很好的结果(1 或 2)。

但是 console.log(test) 返回给我整数变量。 我如何将函数结果存储在测试变量中以便以后使用? 非常感谢!

const spans = selectPager.getElementsByTagName('span');

const test = function() {
  for (let i = 0,len = spans.length; i < len; i++) {
    (function(e) {
      spans[i].onclick = function() {
        console.log(e)
      }
    })(i);
  }
}
test();

console.log(test);

解决方法

将回调传递给 test,并在点击处理程序中调用回调。循环内也不需要 IIFE,因为您使用的是 let:

const spans = document.getElementsByTagName('span');


const test = function(cb) {
  for (let i = 0,len = spans.length; i < len; i++) {
    spans[i].onclick = function() {
      console.log(i)
      cb(i);
    };
  }
}
test((result) => {
  console.log('Outside,have',result);
});
<span>click</span>
<span>click</span>
<span>click</span>
<span>click</span>
<span>click</span>

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