何时使用var?

Rya*_*way 2 javascript tags variables var

可能重复:
Javascript:使用'var'来声明变量是否可选?

如果我把var放在变量之前它不起作用,下面这个代码示例怎么样,但是如果我删除var它有效吗?我认为你在创建新变量时必须使用var.

function myfunction () {
    if (document.getElementById('ramyes').checked) {
      var itischecked = "yes"
    } else if (document.getElementById('ramno').checked) {
      var itischecked = "no"
    }
}   



function display () {
  myfunction()

  if (itischecked == "yes") {
    alert ("it sure is");
  } else if (itischecked == "no") {
    alert ("it is not");
  }
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*nen 12

如果使用var,则变量仅在当前函数内可见(它是局部变量).如果var在首次设置变量时不使用,则会创建一个全局变量,该变量对所有函数都可见.

通过设置全局变量来定义它们通常是不受欢迎的,因为大多数时候你需要局部变量(在你的情况下你应该从函数返回你的"itischecked"值,而不是将它存储在一个全局变量中),并设置一个变量没有var看起来像是一个错误.在严格模式下也是一个错误(每个人都应该使用,总是如此).要在(浏览器)JS中显式定义全局变量,请使用window.variableNamevar在全局范围内(在任何函数之外).

但在你这样做之前,请仔细考虑这是否是个好主意.您拥有的全局变量越多,当多个脚本使用相同的变量名称时,您获得名称冲突的可能性就越高.

  • @Ryan:学校是关于学习的.如果你要学习一些东西,学会以正确的方式做事...... (3认同)