javascript - 关于jQuery的$.get()的作用域问题
ringa_lee
ringa_lee 2017-04-11 10:55:33
[JavaScript讨论组]
var artm=new Array();
var dptm=new Array();
$.get("xxxxx",{bdate:"2016-06-07"},
    function (data, textStatus){
        for(i=0;i<data.length;i++){
            artm[i]=Number(data[i].arr_time);
            dptm[i]=artm[i]+Number(data[i].length);
            $('#time_line').append(data[i].chart);
            console.log(artm[i]);
        }
    });

console.log(artm[0]);


181的10是$.get()里输出的,186的undefined是console.log(artm[0]);输出的,那么$.get()里面运行的函数的变量不能调出来使用吗?

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
迷茫

问题不在作用域,而在于下面这个概念

事件循环

你的.get操作是异步操作,186输出时artm确实还没内容呢,所以你取他的第0个元素,当然是undefined。 而181则是在get的异步回调里,拿到的就是处理完的值

PHP中文网
var request = $.ajax("url");
request.then(function(data){
    // 所有要操作data的代码写这
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号