确定全局变量应在函数内部还是在函数外部

时间:2019-04-14 14:59:32

标签: javascript

使const声明在功能块中而不是在文件顶部被注释的唯一好理由是,它仅可用于该功能,以便以后可以将其作为目标。功能?确定哪个变量应该放入函数中以及哪些变量不应该的最佳方法是什么?

const form = document.getElementById("registrar") ;
const input = form.querySelector("input") ;
//const submitButton = form.querySelector("button") ; Wasnt needed
const invitedList = document.getElementById("invitedList") ;

form.addEventListener("submit", (event) => {
//  const invitedList = document.getElementById("invitedList") ;
  event.preventDefault() ;
  const text = input.value ;
  li = document.createElement("li") ;
  li.textContent = text ;
  invitedList.appendChild(li) ;
  
 
  
}) ;

1 个答案:

答案 0 :(得分:1)

一方面,存储document.getElementById("invitedList")计算的结果在性能上要好于每次调用“提交”处理程序时都重复一次。不过,在这里,这没有什么明显的不同,我不希望在页面的整个生命周期中经常(甚至通常不止一次)提交相同的表单。但这是要牢记的。

另一方面,不需要是全局变量,也许不应该是全局变量。

在您的示例中,两种方法都可以。您可以辩称,您不想不必要地重复将产生相同结果的相同计算,并且可以辩称,您想要移动任何可以作用于局部范围的方法,而不是将其保留在全局范围内。