了解 Window.location 可行的解决方案

Understanding a Window.location working solution

我是 javascript 和编程的新手,我正在尝试理解这段代码以在我的项目中实现

function url_redirect(url){
    var X = setTimeout(function(){
        window.location.replace(url);
        return true;
    },300);

    if( window.location = url ){
        clearTimeout(X);
        return true;
    } else {
        if( window.location.href = url ){
            clearTimeout(X);
            return true;
        }else{
            clearTimeout(X);
            window.location.replace(url);
            return true;
        }
    }
    return false;
};

来源 - 。 我无法弄清楚其中的逻辑。为什么在 if 语句中使用单个“=”? if(window.location = url) 是什么意思?

先检查条件,然后执行(如果需要)更改:

function url_redirect(url){    
    if( window.location.href == url ){
       return false;
    }

    // if you need wait
    setTimeout(function(){
        window.location.replace(url);
    }, 300);

    // if you don't need to wait
    window.location.replace(url);

    return true;
};

我不确定 return 的期望 - 当 true 和 false 时,假设如果 URL 改变了 -> true 否则 -> false