javascript 变量变量名和全局作用域 (pinesnotify)

标签 javascript jquery asp.net

我正在使用 pines notification (我想与我的问题有些无关)来创建有关下拉列表的更改事件的通知。在服务器端,更改被保存到数据库中,然后当保存完成时 - 我希望删除通知(或根据结果执行其他操作)。

问题在于以一种我可以稍后引用它(以删除它)的方式创建通知对象。

我想要的解决方案将获取下拉列表的 id,在其前面加上“pn”并将其用作变量名称,就像

var pnid = 'pn' + $('#mydropdown').attr('id');
notifications[pnid] = createNotification();

在代码隐藏中,我可以创建 javascript 代码,了解通知对象将被调用的内容。然而,我正在与我的“通知”对象作斗争。我已经尝试了 this[notifications]、window[notifications] 等,但无济于事(即我以后无法引用该对象来与其交互)。我正在像这样的任何函数之外创建该对象

var notifications = {};

我的处理方式是否完全错误?

最佳答案

您可以在到达 notifications 对象之前使用此行。

window.notifications = window.notifications || {};

这将帮助您创建 undefined object ,并且还可以防止您覆盖它(如果它已经存在)。

注意:我假设您必须将此对象用作全局变量。

关于javascript 变量变量名和全局作用域 (pinesnotify),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11450369/

相关文章:

javascript - 使用 jquery 延迟对象链接多个 ajax 调用

c# - 将 ASMX 重定向到另一台服务器

javascript - "Parameter count mismatch"发生在 asp.net 中的按钮的单击事件上

c# - 如何在简单的 Web 项目中连接到 .mdf(Microsoft SQL Server 数据库文件)?

javascript - 替换后的 HTML 不会保留在 DOM 中

javascript - jquery iframe 项目选择器不起作用

javascript - 使用javascript在无序列表中定位元素

javascript - 拉维尔 : Getting error response from controller but type error on console and response message is not showing on view page

javascript - 使用javascript获取脚本所在的对象

javascript - jQuery 事件委托(delegate)