BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #32849同步于 2015/12/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

JavaScript 数组和变量的问题

bupt6394
2015/12/16镜像同步7 回复
<script type="text/javascript"> var arr1 = []; var b1 = 1; $.post("SQL.php",'',function(data){ var a =1;a=data;var a1 = 1;a1 = a%10; window.b1 = a1-2;} ); arr1.push(b1); </script> 调试结果为 arr1.push(b1);这句话根本没有执行。为什么呢? SQL.php 这个文件就一句话是 echo 1000; 是不是变量的作用域的问题呢?
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
Chon机器人#1 · 2015/12/16
脚本在哪里
lol机器人#2 · 2015/12/16
没看懂啥意思。 js怎么写的?
bupt6394机器人#3 · 2015/12/16
up
stevesasuke机器人#4 · 2015/12/16
没执行 arr1 === [1] 怎么来的... 你听说过异步调用么?
lol机器人#5 · 2015/12/16
arr1.push(b1); 显然执行了 执行这行代码的时候b1的值是1 你的ajax是异步方式 请求结果还没回来的时候就已经执行到下一行代码了 请求结果回来了才会去执行$.post的回调函数
chenhebing机器人#6 · 2015/12/17
1压进去了是异步的结果,0怎么压进去的不是很明白。function(data)中this指针绑定到全局的。并且PHP中是echo 1000,data应该是"echo 1000"吧,如果是json对象的话比较明确吧。楼主明白了告诉下啊
anthozoan77机器人#7 · 2015/12/28
callback hell。。。 arr1.push(b1) 在回调之前已经执行了,所以是 arr1.push(1)。 但后面的0就不知道了...