Javascript 这是表示此函数中无值的正确方法吗?

Javascript 这是表示此函数中无值的正确方法吗?,javascript,jquery,Javascript,Jquery,我有一个手风琴,通过将此字符串附加到URL?panel=0 farfegnugen = jQuery.noConflict(); farfegnugen(document).ready(function($) { var defaultPanel = parseInt(getParam('panel')); farfegnugen("#st-accordion").accordion({ open:

我有一个手风琴,通过将此字符串附加到URL
?panel=0

farfegnugen = jQuery.noConflict();

        farfegnugen(document).ready(function($) {
            var defaultPanel = parseInt(getParam('panel'));
           farfegnugen("#st-accordion").accordion({
                open: defaultPanel
            });

            function getParam(name) {
                var query = location.search.substring(1);
                if (query.length) {
                    var parts = query.split('&');
                    for (var i = 0; i < parts.length; i++) {
                        var pos = parts[i].indexOf('=');
                        if (parts[i].substring(0, pos) == name) {
                            return parts[i].substring(pos + 1);
                        }
                    }
                } else if(query.length === undefined){
                    window.location.href = "#topOfPage";
                }
                return false;
            }
        });
所以如果(query.length==undefined)因为你什么都没说就起作用,那么
是否会起作用?

另外,我也尝试了
null
,但没有成功

试着在控制台中运行
location.search.substring(1).length
,您将看到问题所在。它等于未定义的
0
。在您的情况下,您不需要
else如果
,您可以简单地使用
else

长度是一个数字,因此与零比较谢谢!因此,在我的条件中,我将其更改为
if(query.length!==0)
这表示如果不是零,则执行正常功能,但如果是零(例如,else)
window.location.href=“#topOfPage”
奇怪的是,这不起作用。如果(query.length)
我尝试了,你可以保留原始的条件
,然后是
else{window.location.href=“#topOfPage”;}
并且没有骰子。我不知道是不是锚?
正确吗?
<a id="topOfPage" href='#'></a>