gpt4 book ai didi

传递给方法的 Javascript 对象是一个字符串

转载 作者:行者123 更新时间:2023-11-29 22:15:30 25 4
gpt4 key购买 nike

我正在使用 jQuery Mobile 构建一个 phonegap 项目。

我有一个正在迭代的 javascript 对象。

目前的问题是这样的:

下面是我的模型对象中的一个方法。它是自递归的,并且一旦被调用,每次用户单击由对象的上一级生成的列表项时,它都会递归到下一级。

我正在努力解决的问题是将迭代段 b 作为对象传递给方法本身。由于某种原因,它作为一个名为 [Object] 的字符串返回,而不是对象本身。

这个函数在显示第一层时确实有效,但是我为每个 child 创建的“firstString”字符串似乎正在将我的对象变成一个名为对象的字符串。我删除了引号,将对象放在大括号中,但无济于事。

谁知道为什么会这样,我显然遗漏了一些关于将对象传递到调用生成为字符串的方法的重要信息......

我的代码在下面,导致问题的行是 firstString+="model.recurseAppTree('"+b+"');";

recurseAppTree: function(AppTree)
{
$.each(AppTree, function(a,b)
{
var firstString='<li data-role="list-divider" role="heading" data-theme="b">'+b.DisplayValue+'</li>';

if(b.Children != null)
{
$.each(b.Children, function(c,d)
{
firstString+="<li data-theme='c'><a data-transition='slide' id='id-"+d.IdValue+"' href='javascript:void(0);'>"+d.DisplayValue+"</a></li>";
firstString+="<script>";
firstString+="$('#id-"+d.IdValue+"').click(function(){";
firstString+="model.recurseAppTree('"+b+"');";
firstString+="});";
firstString+="</script>";
});
}

$("#selectview").html(firstString);
$("#selectview").listview('refresh', true);

});
},

最佳答案

这很正常。

您通过与 + 的连接在字符串上下文中使用对象。这告诉 JS 将对象隐式转换为字符串。

b = {}
alert(typeof b) // object
alert(typeof (''+b)) // string

关于传递给方法的 Javascript 对象是一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15410198/

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