Javascript 避免全局变量的正确方法

Javascript 避免全局变量的正确方法,javascript,variables,global,Javascript,Variables,Global,在我的JavaScript示例中,有没有合适的方法(ES6友好)来避免使用全局变量?我看到我们可以使用一个函数将代码封装在一个闭包中 <textarea name="fileEdition" id="fileEdition" placeholder="Some content from a file, editable"></textarea> <button id="saveFile">Save</button> <script>

在我的JavaScript示例中,有没有合适的方法(ES6友好)来避免使用全局变量?我看到我们可以使用一个函数将代码封装在一个闭包中

<textarea name="fileEdition" id="fileEdition" placeholder="Some content from a file, editable"></textarea>
<button id="saveFile">Save</button>

<script>
    const files = document.querySelector('#RandomFileListGotInPHP');
    const fileEdition = document.querySelector('#fileEdition');
    const saveButton = document.querySelector('#saveFile');

    function openFile() {
        fileEditionBackup = fileEdition.value;    
    }

    function saveFile() {
        console.log(`backup content before save in PHP: ${fileEditionBackup}`);
    }

    files.addEventListener('change', openFile);
    saveButton.addEventListener('click', saveFile);
</script>

拯救
const files=document.querySelector(“#RandomFileListGotInPHP”);
const fileEdition=document.querySelector(“#fileEdition”);
const saveButton=document.querySelector(“#saveFile”);
函数openFile(){
fileEditionBackup=fileEdition.value;
}
函数saveFile(){
log(`backup content before save in PHP:${fileEditionBackup}`);
}
addEventListener('change',openFile);
saveButton.addEventListener('单击',保存文件);

谢谢您的帮助。

我看不出有什么理由反对:


当然,
+function(){…}()
({…})(
也会起作用。

iLife是ES6友好的。。
(function () {

    const files = document.querySelector('#RandomFileListGotInPHP');
    const fileEdition = document.querySelector('#fileEdition');
    const saveButton = document.querySelector('#saveFile');

    function openFile() {
        fileEditionBackup = fileEdition.value;    
    }

    function saveFile() {
        console.log(`backup content before save in PHP: ${fileEditionBackup}`);
    }

    files.addEventListener('change', openFile);
    saveButton.addEventListener('click', saveFile);
})();