【问题标题】:The difference between a var and function in javascript [closed]javascript中var和函数之间的区别[关闭]
【发布时间】:2020-06-04 01:33:48
【问题描述】:

我在理解 var 和 function 之间的区别时遇到了问题。我试图在互联网上搜索它,我在 var 和 function 中写了同样的东西,我得到了相同的结果。我真的想要一个解释告诉我什么时候用 var 什么时候用 function。

【问题讨论】:

  • 欢迎来到 SO!您能否提供更多信息,例如您尝试了哪些代码以及代码给出的结果?
  • “我在 var 和 function 中写了同样的东西,我得到了同样的结果”——如果你能把你写的代码展示给我们看,我们也许可以帮助你理解。

标签: javascript function var


【解决方案1】:

如果你是这个意思:

function foo() {
    // ...
}

产生与此相同的结果:

var foo = function() {
    // ...
}

您刚刚发现这些函数在 JavaScript 中是 First class citizens。两种语法几乎没有区别。后者在将函数作为对象操作时很有用(例如:var foo = barbar 是一个函数),但在涉及静态函数时没有真正的兴趣。

两种语法之间的一个区别是,您可以在声明函数之前调用它,但不能在它是变量时调用:

foo();

function foo() {
    console.log('foo');
}

bar();

var bar = function() {
    console.log('bar');
}

请注意,您可以像使用变量一样重新分配函数:

function foo() {
    // ...
}

// Reassign the function with a string
foo = 'bar';

try {
    foo();
} catch(e) {
    console.error(e);
    console.log('foo:', foo);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多