gpt4 book ai didi

javascript - 从函数返回的变量在返回后是未定义的

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:18:59 29 4
gpt4 key购买 nike

这是否有任何原因:

function find_parent_p(x){
daddy = jQuery(x).parent();


if(daddy.attr("tagName").toLowerCase() == 'p'){
console.log(daddy,"result");
return (daddy);
} else {
find_parent_p(daddy);

}

}
jQuery(document).ready(function($){

$('img').each(function(){

next = find_parent_p($(this));

})


});

将在控制台中返回一个 jQuery 对象(预期行为),如下所示返回 Undefined 我所做的只是将调用移到 console.log 之外函数,并在调用它之后:

function find_parent_p(x){
daddy = jQuery(x).parent();


if(daddy.attr("tagName").toLowerCase() == 'p'){

return (daddy);
} else {
find_parent_p(daddy);

}

}
jQuery(document).ready(function($){

$('img').each(function(){

next = find_parent_p($(this));
console.log(next,"result");

})


});

最佳答案

您在 else 条件中缺少 return 语句。如果您的函数递归,那么顶层调用将不会返回任何内容,您将以 undefined 结束。

else {
return find_parent_p(daddy);

}

关于javascript - 从函数返回的变量在返回后是未定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6956477/

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