Global variables are declared outside of a function for accessibility throughout the program, while local variables are stored within a function using var for use only within that function’s scope. If you declare a variable without using var, even if it’s inside a function, it will still be seen as global:

全局变量在函数外部声明,以在整个程序中进行访问,而局部变量使用var存储在函数中,仅在该函数的范围内使用 。 如果在不使用var情况下声明变量,即使该变量位于函数内部,则仍将其视为全局变量:

var x = 5; // globalfunction someThing(y) {var z = x + y;console.log(z);
}function someThing(y) {x = 5; // still global!var z = x + y;console.log(z);
}function someThing(y) {var x = 5; // localvar z = x + y;console.log(z);
}

A global variable is also an object of the current scope, such as the browser window:

全局变量也是当前作用域的对象,例如浏览器窗口:

var dog = “Fluffy”;
console.log(dog); // Fluffy;var dog = “Fluffy”;
console.log(window.dog); // Fluffy

It’s a best practice to minimize global variables. Since the variable can be accessed anywhere in the program, they can cause strange behavior.

最佳做法是最小化全局变量。 由于可以在程序中的任何位置访问变量,因此它们可能导致奇怪的行为。

References:

参考文献:

  • var -Javascript|MDN

    var -Javascript | MDN

  • You Don’t Know JavaScript: Scopes & Closures

    您不懂JavaScript:范围和闭包

javascript中的全局变量和window.variable有什么区别? (What’s the difference between a global var and a window.variable in javascript?)

The scope of JavaScript variables are either global or local. Global variables are declared OUTSIDE the function and its value is accessible/changeable throughout the program.

JavaScript变量的范围是全局或局部。 全局变量在函数之外声明,并且其值在整个程序中都可以访问/更改。

You should ALWAYS use var to declare your variables (to make locally) else it will install GLOBALLY

您应该始终使用var声明变量(在本地生成),否则它将全局安装

Take care with the global variables because they are risky. Most of the time you should use closures to declare your variables. Example:

请注意全局变量,因为它们具有风险。 大多数时候,您应该使用闭包来声明变量。 例:

(function(){var myVar = true;
})();

更多信息: (More Information:)

  • Visual guide to JavaScript variable definitions and scope

    可视化JavaScript变量定义和范围指南

  • Intro to JavaScript variable definitions and hoisting

    JavaScript变量定义和提升简介

翻译自: https://www.freecodecamp.org/news/global-variables-in-javascript-explained/

JavaScript中的全局变量介绍相关推荐

  1. javascript中in用法介绍

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Javascript中 toFixed 规则介绍及其改进方法

    今天看了司徒大神的一篇博文,这篇文章专门介绍了toFixed的规则,搬来记录一下.文末有原文链接. javascript中toFixed使用的是银行家舍入规则. 银行家舍入:所谓银行家舍入法,其实质是 ...

  3. SQL Server中常用全局变量介绍

    在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值.全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数.下表就是SQL Server中一些常用的全局变量. 全局 ...

  4. JavaScript 中的函数介绍

    简而言之函数只不过是一组执行某个操作的语句.函数可能会有一些输入参数(在函数体中使用),并在执行后返回值.JavaScript函数也具有这些特性,但它们不仅仅是常规函数.JavaScript函数是对象 ...

  5. JavaScript 中 Location 对象介绍

    目录 Location 对象 Location 对象属性 Location 对象方法 Location 对象方法 细解 1 window.loction.href 语法: 说明: 举例: 2  win ...

  6. 【前端学习】前端学习第十三天:JavaScript中DOM技术介绍

    DOM即文档对象模型,是一种与浏览器.编程平台和语言无关的应用程序接口,它提供了动态访问和更新文档的内容.结构和样式的基本方法. 下面是网页文档对象对应的节点树: DOM中节点具有不同的类型,常见的节 ...

  7. html5自定义变量,javascript中怎么定义全局变量?

    javascript中定义全局变量的方法:1.使用var+变量名,在方法外部定义全局变量.2.在方法内部不使用关键字直接定义.3.使用window全局对象定义. JavaScript定义全局变量的方法 ...

  8. html 多页面全局变量,JavaScript如何定义全局变量

    JavaScript中定义全局变量主要分为显式声明或者隐式声明.下面本篇文章就来给大家具体介绍一下,希望对大家有所帮助. 方法1:显式声明 使用var(关键字)+变量名(标识符)的方式在functio ...

  9. javascript 中的window, document, screen都有什么区别?

    谷歌之后,从stackoverflow上找到的高赞答案: https://stackoverflow.com/questions/9895202/what-is-the-difference-betw ...

最新文章

  1. AAAI 2022 | Diaformer: 采用症状序列生成的方式做自动诊断
  2. sql server 补齐0学习总结
  3. C++析构器详解【C++析构器】
  4. python容器数据类型_python collections 容器数据类型
  5. Codeblocks 安装
  6. AVS3关键技术、性能和复杂度分析
  7. ysql怎么处理百分数? “%”
  8. Android 抽屉布局
  9. C#中使用DTS来导入数据及相关问题
  10. tcping在linux用法,tcping的安装和使用
  11. linux 查看运行 job,如何通过Web查看job的运行情况
  12. 03-14 设备交互 API
  13. 浏览器乱码问题的具体解决
  14. bug4-UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed...
  15. 如何查询SID及根据SID反查对应的账户
  16. 联想台式计算机 恢复出厂设置,联想台式机电脑bios如何恢复出厂设置|联想台式机bios恢复出厂设置的方法...
  17. SAP系统销售流程成本和收入的确认
  18. 杭电信工计算机系编程比赛集训队,【喜讯】我院学子勇夺首届大湾区青少年信息学编程竞赛冠军...
  19. python清除列表占用内存_对象的Python列表占用了太多内存
  20. C#使用ODBC链接MySQL数据库

热门文章

  1. C#在WinForm中打开控制台显示
  2. 用9种办法解决 JS 闭包经典面试题之 for 循环取 i
  3. ASP .NET MVC 之Entity Framework入门教程及源码
  4. (转)ASP.NET MVC3默认提供了11种ActionResult的实现
  5. C#操作静态路由表(增、删、改、查、遍历)
  6. vue按照url地址访问出错404
  7. BP神经网络python简单实现
  8. pytorch学习笔记 1. pytorch基础 tensor运算
  9. windows 停止nginx
  10. java基础-BigDecimal类常用方法介绍