javascript函数中未捕获的TypeError

javascript函数中未捕获的TypeError,javascript,json,html,session-storage,Javascript,Json,Html,Session Storage,我正在使用jQuery1.7.2和Chrome22。 此错误在Firefox16中显示为未捕获异常。搜索SO和谷歌都没有帮助,我不知道如何解决这个问题 我100%确信jQuery已正确加载。此表达式 Storage.prototype.setObj = function(key, obj) { return this.setItem(key, JSON.stringify(obj)) ^-----Error in this line: Uncaught TypeError: Ac

我正在使用jQuery1.7.2和Chrome22。 此错误在Firefox16中显示为未捕获异常。搜索SO和谷歌都没有帮助,我不知道如何解决这个问题

我100%确信jQuery已正确加载。

此表达式

Storage.prototype.setObj = function(key, obj) {
    return this.setItem(key, JSON.stringify(obj))
    ^-----Error in this line: Uncaught TypeError: Accessing selectionDirection on an input element that cannot have a selection
}
var selected = jQuery('input:checkbox.mychkbox:checked').each(function() {
        return this.id;
});
sessionStorage.setObj("savedCollSearch",selected);
。。。这里似乎被误用了:它将返回一个jQuery包装的复选框元素集合,这可能不太容易字符串化(因为循环引用)

(作为旁注,
。每个
将在没有
id
的第一个元素处停止迭代,或者将其设置为空字符串,但这在这里并不重要)

您可能想改用这个:

var selected = jQuery('input:checkbox.mychkbox:checked').each(function() {
  return this.id;
});
这句话

Storage.prototype.setObj = function(key, obj) {
    return this.setItem(key, JSON.stringify(obj))
    ^-----Error in this line: Uncaught TypeError: Accessing selectionDirection on an input element that cannot have a selection
}
var selected = jQuery('input:checkbox.mychkbox:checked').each(function() {
        return this.id;
});
sessionStorage.setObj("savedCollSearch",selected);
。。。这里似乎被误用了:它将返回一个jQuery包装的复选框元素集合,这可能不太容易字符串化(因为循环引用)

(作为旁注,
。每个
将在没有
id
的第一个元素处停止迭代,或者将其设置为空字符串,但这在这里并不重要)

您可能想改用这个:

var selected = jQuery('input:checkbox.mychkbox:checked').each(function() {
  return this.id;
});

所选字符串不是jsonobject@Amareswar:selected是一个json对象。@raina77ow:你应该读一下:@Amareswar:没有“json对象”这样的东西。@raina77ow:好吧,你把我带到了这里:-P人们说“json对象”时,我有点烦,它是一个“JavaScript对象”。JSON是数据的字符串表示形式,恰好类似于JavaScript对象语法。选择的是字符串而不是JSONobject@Amareswar:selected是一个json对象。@raina77ow:你应该读一下:@Amareswar:没有“json对象”这个词。@raina77ow:好吧,你让我明白了:-P人们说“json对象”的时候,我有点烦,它是一个“JavaScript对象”。JSON是一种数据的字符串表示形式,恰巧与JavaScript对象语法相似。我将其作为映射而不是每个,直到我读到这里:该映射比每个映射占用更多内存。你能给我指一些关于“循环参考”的文件吗。以前在javascript中从未听说过这种情况。@例外:
map
每个都是用于不同目的的不同函数。使用正确的方法,停止微优化!一个可能更“内存密集”,但除非您有1000000个元素,否则这并不重要。@exception Why,这里有很多这样的问题。甚至还有一个特殊的标签。)@当然,它是一个内存密集型的例外-
map
用于返回集合,因此它必须将结果存储在某个地方。)<另一方面,每个
,通常只是对集合的每个元素做一些事情。我把它作为映射而不是每个,直到我读到这里:该映射比每个都更占用内存。你能给我指一些关于“循环参考”的文件吗。以前在javascript中从未听说过这种情况。@例外:
map
每个都是用于不同目的的不同函数。使用正确的方法,停止微优化!一个可能更“内存密集”,但除非您有1000000个元素,否则这并不重要。@exception Why,这里有很多这样的问题。甚至还有一个特殊的标签。)@当然,它是一个内存密集型的例外-
map
用于返回集合,因此它必须将结果存储在某个地方。)<另一方面,code>每个
通常只对集合的每个元素执行一些操作。