javascript - 基本的 JavaScript 函数语法

标签 javascript function

来自 MDN,只是想知道为什么函数周围有 (),为什么后面有额外的 (),以及为什么函数内的 var b 不替换第一个 var b 的值,因为它不使用关键字 let,这将使 b 保持在该函数的本地,谢谢

var a = 1;
var b = 2;

(function() {
  var b = 3;
  a += b;
})();

a; // 4
b; // 2

最佳答案

当您在函数内编写 var b 时,var 关键字使其成为局部变量。因此,函数内部的 var b 是局部变量,而函数外部顶部的 var b 则处于全局范围内。您可以在 MDN 中阅读有关范围界定的更多信息。另外,函数后面的 () 称为立即函数调用,这意味着该函数在定义后立即被调用。另外,由于函数内部的 a 在其声明之前没有 var,因此它将采用全局 a(即 1)并添加 3(局部变量 b 的值)。

关于javascript - 基本的 JavaScript 函数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38522876/

相关文章:

javascript - 如何使用 Javascript 或 jQuery 代码调用 mousemove

mysql - 什么是 MySQL 函数?

python - 如何将定义为 (Entry.get()) 的变量从一个函数传递到另一个函数?

javascript - Ember 2.6 按钮操作绑定(bind)不触发模板更新

javascript - google maps V3 重复标记,仅在 IE7,8 IE 9 中可用

javascript - W3C验证错误需要解决

Python Turtle.Terminator 即使在使用 exitonclick() 之后

python - Thead.join() 仅在所有线程完成后才帮助打印字符串

python - Python 3.x 中新的 print 函数相对于 Python 2 的 print 语句有什么优势?

javascript - JS promise : Array of requests