【发布时间】:2013-12-11 16:59:26
【问题描述】:
我在下面有三个具有不同输出的简单程序。我有点困惑为什么我得到不同的输出。当您将函数分配给变量时,真正发生了什么?除非您有括号(即myfunction()),否则它不会运行吗?我也很困惑 JavaScript 如何在调用函数时允许函数后面的括号作为“可选”。有人可以解决这个问题吗?我只知道 Java,所以这对我来说是全新的领域。
// ------First--------------------------------
var x = 9;
function myfunction (){
x = 3;
}
var w = myfunction;
w();
console.log(x);
//output is 3
// ---------Second -----------------------------
var x = 9;
function myfunction (){
x = 3;
}
var w = myfunction;
console.log(x);
//output is 9
// ---------Third -----------------------------
var x = 9;
function myfunction (){
x = 3;
}
var w = myfunction();
console.log(x);
//output is 3
【问题讨论】:
标签: javascript var