如何理解这段代码(关于javascript'var')

时间:2016-04-08 02:27:29

标签: javascript

“var”在JavaScript中做了什么?

 <ListView 
        android:id="@android:id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

5 个答案:

答案 0 :(得分:1)

正如RJM所说,它在本地范围内声明了一个变量。更具体地说,您似乎遇到的混乱,它输出1,因为您通过传入1立即调用该函数。它被设置为变量a。 <{1}}已经有效设置后调用var a;无效。

为了给该语句提供更多的上下文,javascript中的变量声明被提升到范围的顶部。在MDN上阅读更多相关信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var#var_hoisting

答案 1 :(得分:0)

它在本地范围内声明了一个变量。

答案 2 :(得分:0)

var 在函数范围内定义一个新变量,然后在函数上下文之外无法访问a

您可以查看Closure以获取更多信息。

我希望有帮助:D

答案 3 :(得分:0)

在提供的代码中,您正在运行一个自执行的匿名函数。

(function(){
  //Code goes here
})();

前面括号内定义的任何内容都会立即执行。在匿名函数之外定义的变量和函数无法到达内部定义的所有内容。

您将整数1传递给自执行,定义为var a

(function (a) {
  var a;
  console.log(a); // why output 1?
})(1)

答案 4 :(得分:0)

它将A设置为变量并自动将其设置为布尔值“true”。