变量不断重置为其原始值
Variable keeps getting reset to its original value
我的代码:
function send() {
var nop = 6;
var send_this = {
nop: nop
};
$.ajax({
type: "GET",
data: send_this,
url: "example.com",
success: function(r) {
var obj = JSON.parse(r);
nop = obj.nopval;
/* some other stuffs*/
}
)
};
}
现在,由于我已经将nop
设置为 6 ,它将通过 6。但是在返回时,json 响应obj.nopval
将返回 12,我想将其设置为 nop
.这样下次它发送 12 并返回 18 等等......
这里发生的事情是,它发送 6 并返回 12,但再次发送 6 并再次返回 12。变量未更新。
您正在函数中声明和初始化 nop
变量,因此每次调用函数时,它都会从 6
点开始。 nop
需要存在于函数之外的某个位置才能使更改持久化:
var nop = 6; // outside the function
function send() {
var send_this = {
nop: nop
};
$.ajax({
type: "GET",
data: send_this,
url: "example.com",
success: function(r) {
var obj = JSON.parse(r);
nop = obj.nopval;
/* some other stuff*/
}
});
}
您需要在函数外部定义变量,在 ajax 回调函数中使用它,因此每次运行函数时,它都会将值重置为 6。
相关文章:
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- 阻止$scope变量副本侦听其原始副本
- 在 JavaScript 中是否有原始变量的用途
- 两个函数使用相同的变量,都不会覆盖其原始变量
- 在 JavaScript 中访问原始全局变量和属性
- 为什么原始变量的行为类似于对象
- 变量不断重置为其原始值
- 变量在操作新实例后失去原始值
- Javascript变量恢复为原始变量
- 如何在 for 循环中维护迭代变量的原始值,该循环设置事件调用,其中迭代值是函数的一部分
- 为什么Google闭包编译器在原始命名空间为空的情况下向全局命名空间添加变量
- js更改变量会影响到原始变量
- highcharts系列删除功能删除所有原始系列数据(即使存储在新变量中)
- 如何在不影响AngularJS中原始变量的情况下操作视图值
- 在JavaScript中更改局部变量会影响具有不同名称的原始全局变量
- 将Mysql查询结果传递给javascript,然后使用原始变量调用函数
- JavaScript's reverse()总是改变原始变量吗?
- 奇怪的代码——javascript (JS)中原始变量和引用变量的动态属性
- 为什么这个原始变量是通过引用而不是通过值传递给函数的?
- 通过引用javascript传递原始变量