Javascript - 对象在函数退出时失去其值

Rom*_*man 0 javascript jquery

我有这个奇怪的问题.在我的代码中,我有一个名为变量的变量val1,它在jQuery调用之后获取一个值,但是在退出jQuery函数之后它会丢失它的值.

这是代码:

var val1;
$.getJSON('some address', null, function (result) {
    val1 = result.names[0].name;
    alert(val1); //first alert
});
alert(val1); // second alert
Run Code Online (Sandbox Code Playgroud)

在第一次警报时,我得到所需的值,但在第二次警报 - 我得到undefined.

为什么?

Fel*_*ing 6

第二个alert是在设置值之前执行的.反之亦然:回调在第二个之后执行alert.

Ajax调用是异步的.