3

我正在创建一个散列作为传递给 jQuery 插件的选项对象。根据插件的定义,我需要使用的键之一是next.

这在 Safari 中运行良好(所以我通常假设 Webkit),但在 Firefox 中它被删除、或被忽略或其他东西......它只是不存在。例如:

var opts = {
  "next": "some selector string",
  "prev": "some other selector string",
  "anotherOption": 1
};

console.log(opts);

输出:

anotherOption      1
prev               "some other selector string"

这让我疯狂。更重要的是,有大量的插件和东西在某种选项哈希中使用这个键名,我以前从未注意到这种行为。谁能告诉我这里发生了什么以及如何解决它?(我尝试过这样做opts.next = "something",但会产生相同的结果)。

周围的代码也不是问题——我已经在我的 Firebug 控制台中输入了示例(减去 console.log 调用)并得到了相同的结果。

4

2 回答 2

4

这是Firefox 中的一个错误。

该错误确实阻止了 Firebug 打印它,但实际的 Object 仍应next正确定义该属性。

于 2011-03-06T00:33:19.607 回答
3

一个属性不会在 Firebug 控制台中打印出来,但它确实已定义。这可能是 Firebug 的问题,而不是 JS 的问题。您的代码应该仍然有效。

>>> var v = {};
undefined
>>> v.next = 'foo';
"foo"
>>> v.prev = 'bar';
"bar"
>>> v
Object { prev="bar"}
>>> v.next
"foo"
于 2011-03-06T00:28:36.607 回答