javascript - 将变量传递给自调用函数

标签 javascript jquery

我有一个 AJAX 请求,在成功处理程序中,能够在将数据传递给名为 dataHandler 的函数的任何位置获取数据。从那里我处理我需要的东西并最终得到一系列项目。

function dataHandler() {
    var myArray = ["21/06/2016"];
}

我试图将 dataHandler() 函数中的内容传递给另一个自调用的函数,但如果我将该函数命名为 $(function myName() {} 然后在我的第一个函数中执行了 myName(myArray); 我仍然无法访问数据。

$(function() {
    console.log(myArray);
})

如何将变量从普通函数传递到自调用函数?

最佳答案

您没有 IIFE在您的代码中,您要传递的变量是 locally scoped到其声明的函数。

听起来您实际上需要类似的东西:

function dataHandler() {
    var myArray = ["21/06/2016"];

    $(function() {
        console.log(myArray);
    });
}

dataHandler();

地点:

  • dataHandler 实际上被调用(因此变量被分配)
  • $()dataHandler 内部调用,以便当匿名函数传递给它时,myArray 位于作用域内

关于javascript - 将变量传递给自调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37947647/

相关文章:

javascript - 如何用数组构造集合

jquery - 文字顶部的转移效果

jquery - 仅当 #div1 的子级 div 位于 #div2 之上时,才将 #div1(可拖动)放入 #div2(可放置)中

javascript - 数字太长,无法在 highcharts/javascript 中正确显示

javascript - 使用 .map 索引作为键时,为什么 React 无法渲染 JSX 元素数组中的更改?

javascript - 将 JS 转换为 CoffeScript,缺少操作数?

php - 如何循环并写入表格单元格

javascript - bbcode ckeditor 对齐插件

javascript - 在另一个函数中调用 this.checked 时防止传播到事件处理程序

javascript - 是否可以为未加载的视频提供备用 anchor 链接?