sách gpt4 ai đã đi

JavaScript 解析

In lại 作者:行者123 更新时间:2023-11-28 12:50:04 28 4
mua khóa gpt4 Nike

我有这段代码:

$(tài liệu).ready(hàm() {
// var who;

FB_RequireFeatures(["Api"], function(){

var who = api.get_session().uid;
alert(who);

});

alert("the uid is: "+who);

//]]>
});

问题:FB_RequireFeatures block 外部的代码先于其内部的代码执行。因此 who 的值是未定义的。

Tôi đang làm gì sai?

1 Câu trả lời

FB_RequireFeatures 函数似乎正在进行异步调用,因此您没有做任何错误,这就是它的工作方式 - 在请求返回之前调用警报。

您的代码设计方式必须确保仅在请求完成后才调用依赖于 FB_RequireFeatures 函数结果的代码。您可以在回调中调用另一个函数,例如:

var who;

$(tài liệu).ready(hàm() {
FB_RequireFeatures(["Api"], function() {
who = api.get_session().uid;
doSomeOtherStuff();
});
});

function doSomeOtherStuff() {
alert("the uid is: " + who);
}

现在,仅在 FB_RequireFeatures 函数完成后才调用 doSomeOtherStuff 函数,并且您应该在 doSomeOtherStuff 函数内执行以下所有代码 - 这显然,您可以命名为任何您想要的名称。

我将 who 变量移出了 Ready block ,以使其保持在 doSomeOtherStuff 函数的范围内,并从内部函数,以便您引用原始变量而不是创建新变量,否则两者是相同的。

关于JavaScript 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2172668/

28 4 0
Bài viết được đề xuất: javascript - Javascript 中的 GUI 项目和元素
Bài viết được đề xuất: width - 全宽页脚问题
Bài viết được đề xuất: html - 为什么书签没有变大
Bài viết được đề xuất: javascript - 根据浏览器更改类中的元素
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com