js里面不能修改Boolean变量的数据是怎么回事?

2025-04-15 15:43:23
推荐回答(3个)
回答1:

这是很典型的异步问题:

var req = true;
//1、到这里还是顺序执行的,但是这里只是把请求异步发出去,然后就继续执行后边(2处)的代码了
$.post("/url",{},function(){
    //这是回调函数,是等服务器响应完成之后才会执行这里的代码,也就是说,这里的代码执行的时候外层函数早已经执行完返回true了
    //在这里改变req的值对外层是没有任何影响的。
    req = data.check;
},"json");
//2、第1步把请求发出去之后就直接执行这句返回了,当然这里的req还是true
return req;

回答2:

使用$.ajax方法,设置async为false,表示同步,这样就可以修改了。。。

回答3:

逻辑“或”运算符(||)result=expression1||expression2;如果两个表达式中有一个或两个等于True,则result是True。