更改变量后调用但未评估的函数

时间:2017-06-23 12:30:37

标签: javascript function variables

我想创建一个.on函数,但我遇到了问题。下面的代码调用.on函数,但要执行警报,变量ready必须为true。我不想在“ready = true”之后调用.on函数。我希望你能理解我。感谢。

var test = {};
var ready = false;
test.on = function(argument, callback) {
    if (typeof argument !== "string" || "function" !== typeof callback) return;
    if (typeof callback === "function") {
        if (argument === "hi" && ready) {
            callback("hi");
        }
    }
}
test.on("hi", function(a) {
    alert(a);
});
ready = true; // Now it should evaluate the above function

1 个答案:

答案 0 :(得分:0)

要在调用ready = true之前调用警报,您需要更改test.on函数的布尔登录。

如果您删除&& ready

test.on = function(argument, callback) {
    if (typeof argument !== "string" || "function" !== typeof callback) return;
    if (typeof callback === "function") {
        if (argument === "hi") {
            callback("hi");
        }
    }
}

然后,当您致电test.on(hi..时,它现在会显示警告。