gpt4 book ai didi

即使值显示在 console.log 中,javascript 函数仍返回未定义

转载 作者:行者123 更新时间:2023-11-30 10:18:47 27 4
gpt4 key购买 nike

我遇到了一个非常烦人的问题,即使 console.log() 在进入第一个 if 语句时总是显示有一个值,函数每次都返回未定义的值

这是我的功能

function getElementIdentifier(elem, domSelector) {
if(elem.getAttribute('id') !== null) {
console.log('here');

return elem.id + ' ' + domSelector;
} else {
getElementIdentifier(elem.parentNode, elem.tagName + ' ' + domSelector);
}
}

我是这样调用它的

getElementIdentifier(elem, '');

这是一个复制它的 fiddle 。 http://jsfiddle.net/wqCSn/5/ (感谢@adeneo)

最佳答案

如果递归调用 self,您的函数不会返回值。您应该在算法的替代分支中添加 return 语句

function getElementIdentifier(elem, domSelector) {
if(elem.getAttribute('id') !== null) {
return elem.id + ' ' + domSelector;
} else {
return getElementIdentifier(elem.parentNode, elem.tagName + ' ' + domSelector);
}
}

关于即使值显示在 console.log 中,javascript 函数仍返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22425556/

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