- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经在函数内部声明了 var1。但是,当我尝试在 inner_function2 中分配一个值时,似乎创建了另一个 var1 而不是引用第一个。
var func1 = function(response) {
var var1;
function inner_function2(param) {
Ext.Ajax.request({
url:'',
params: param,
success:function(result, request) {
var1 = a;
}
});
}
}()
最佳答案
success
Ext.Ajax.request
回调在返回 AJAX 请求后调用。这意味着,调用它的函数(func1()
和 inner_function2()
已经返回,并且它们的作用域已被删除。
让我们尝试展示一系列事件
func1()
被调用var1
inner_function2()
被调用(我假设你确实在某处调用了它)Ext.Ajax.request()
被调用,并声明了 success
回调inner_function2()
结束 - AJAX 请求在后台运行func1()
结束,局部变量 var1
被删除(它仍然在回调范围内可用)- AJAX 请求在后台运行成功
回调被调用。 var1
,因此创建了一个全局变量并为其赋值 a
var1
在回调的范围内仍然可用,但一旦回调结束,该变量在任何地方都不再可用,因此您无法使用它。请记住,AJAX 中的“A”代表“异步”。
关于JavaScript 变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4506655/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!