javascript - "too much recursion"在这个用 JavaScript 编写的递归函数中 (obj2str)

标签 javascript jquery recursion type-conversion object-to-string

这段代码有什么问题:

function obj2string(obj) {
    var result = '';

    for(var i in obj) {
        if(typeof(obj[i]) === 'object') {
            result += obj2string(obj[i]);
        } else {
            result += i + " => " + obj[i] + "\n";
        }
    }

    return result;
}

它应该递归地用新属性集中结果字符串,但是在某些时候递归太多了。

我正在传递这样一个对象:$(this); -> 来自 jQuery。

$(this)

作为这个 jQuery 选择器的实例:$('.debug'); 女巫在当前文档中有一个匹配的类。

最佳答案

if(typeof(obj[i]) === 'object') { 将在 obj[i]null 时执行.你知道吗?尝试使用 $.isPlainObject() ( source )

关于javascript - "too much recursion"在这个用 JavaScript 编写的递归函数中 (obj2str),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012142/

相关文章:

javascript - 是否可以检测哪一行或函数触发了元素上的 jquery 更改事件?

javascript - 是什么让 Twitter 页面之间的导航如此之快?

javascript - 向表格中的文本输入添加下一步按钮

javascript - 文本区域计算字符长度错误

jquery - 数据表.net ScrollX |标题和数据列宽度问题

c++ - 霍夫曼代码 - 段错误 11

javascript - 无法设置innerHTML

jquery - 如何使用一个值(单击 li 时通过 .text() 获取)作为选择器来隐藏某些 div

java - 递归方法到底如何返回最终值并分配其结果?

java - 在 C++ 中,我们有引用。但在 Java 中,我们如何最好地使用按值复制 "translate"相同的代码?