gpt4 book ai didi

JavaScript 作用域混淆

转载 作者:行者123 更新时间:2023-12-02 20:29:52 25 4
gpt4 key购买 nike

我有这样的 TabList 定义:

MyApp.TabList = function (selector) {

var private = {
$list: $(selector),
tabs: []
};

this.add = function (tab) {
private.tabs.push(tab);
};
};

但是,当我调用它并中断 this.add 的主体时,private 不会出现在本地范围中:

MyApp.tabs = new MyApp.TabList("#tabs");

$("#tab-add").click(function() {
MyApp.tabs.add(new MyApp.Tab("title"));
});

private 不保留在对象内部吗?

如果这段代码像上面那样独立工作,我可能会错过一些东西——为了演示目的,我试图尽可能地简单化它。

最佳答案

由于闭包属性,该变量绝对应该在 add() 函数中可用。

这可能不是答案,但 private 是一个 Javascript 关键字。您应该尝试避免使用它作为变量的名称。它可能会导致出现未知的错误,有时调试器也无济于事。尝试一下,让我们知道它是否有效!

关于JavaScript 作用域混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4351332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com