重新加载javascript类,(未捕获的语法错误:let';classname';的重新声明)

重新加载javascript类,(未捕获的语法错误:let';classname';的重新声明),javascript,reload,Javascript,Reload,我尝试重新加载javascript类文件并获得以下控制台反馈: “未捕获的语法错误:let测试的重新声明” } log(_test.sayHello()) 有什么想法吗?谢谢 重新加载脚本将再次运行其代码,因此行let _test=…将再次运行,并产生错误。你想在这里实现什么?为什么要重新加载脚本?这本来就没必要。嗨,克里斯,谢谢你的反馈这正是它应该做的,它应该在重新加载后再次运行。我有很多动态内容需要重新加载。。。但是我真的不理解“Uncaught SyntaxError:redclarati

我尝试重新加载javascript类文件并获得以下控制台反馈:

“未捕获的语法错误:let测试的重新声明”

}

log(_test.sayHello())


有什么想法吗?谢谢

重新加载脚本将再次运行其代码,因此行
let _test=…
将再次运行,并产生错误。你想在这里实现什么?为什么要重新加载脚本?这本来就没必要。嗨,克里斯,谢谢你的反馈这正是它应该做的,它应该在重新加载后再次运行。我有很多动态内容需要重新加载。。。但是我真的不理解“Uncaught SyntaxError:redclaration of let Test”错误…没有什么需要理解的,这是不允许的:你不能简单地重新加载整个页面吗?不,它是一个面板系统-它通过ajax加载php,包括脚本,而不重新加载整个程序。我知道你的意思-但是我用这里的脚本删除了var:用s.remove();错误Msg sais let Test not let_Test-因此类重新声明似乎有问题。。也许是记忆的东西。。!?当我注释out://let _test=new test()时,我得到了相同的错误//log(_test.sayHello());
<button id="reload">loadScript</button>

<script>

    let reloadBtn = document.getElementById('reload');
    reloadBtn.addEventListener('click', function(){
        
        let addonScripts = document.getElementById('js').querySelectorAll('.addon-script');
        
        addonScripts.forEach(function(s){
            s.remove();
        });
        
        loadScript('test.class.js', 'addon-script', function(){ console.log('script loaded'); });
    });
    
    
    
    
    function loadScript(url, styleClass, callback){

        var script = document.createElement("script");
        script.type = "text/javascript";
        script.classList.add(styleClass);

        if(script.readyState){  //IE
            script.onreadystatechange = function(){
                if(script.readyState == "loaded" ||
                    script.readyState == "complete"){
                    script.onreadystatechange = null;
                    callback();
                }
            };
        } else {  //Others
            script.onload = function(){
                callback();
            };
        }

        script.src = url;
        document.getElementById("js").appendChild(script);
    }
    
    
</script>
<div id="js"></div>
sayHello(){
    return 'hello';
}
let _test = new Test();