Javascript 只有在Safari:ReferenceError中才能';找不到变量

Javascript 只有在Safari:ReferenceError中才能';找不到变量,javascript,safari,scope,mobile-safari,Javascript,Safari,Scope,Mobile Safari,我的许多脚本如下所示: if (...) { const myvariable1 = document.querySelector('.class-1'); const myvariable2 = document.querySelector('.class-2'); function someFunction() { // Do something with myvariable1 or myvariable2 } someFu

我的许多脚本如下所示:

if (...) {

    const myvariable1 = document.querySelector('.class-1');
    const myvariable2 = document.querySelector('.class-2');

    function someFunction() {

        // Do something with myvariable1 or myvariable2

    }

    someFunction();

}
它们在Chrome、Firefox、Edge和Opera上运行良好,但在Safari上我发现了一个错误:

ReferenceError: Can't find variable myvariable1
解决方法

如果我在If语句之前声明常量,代码就会工作

const myvariable1 = document.querySelector('.class-1');
const myvariable2 = document.querySelector('.class-2');

if (...) {

    function someFunction() {

        // Do something with myvariable1 or myvariable2

    }

    someFunction();

}
…但我不明白为什么,也不知道如何使常数在全球范围内可用

也许有人能给我解释一下只有狩猎才有这种行为