导航
×
   ❮   
HTML CSS JavaScript PHP Go ECMS

JavaScript 教程

JS 简介 JS 如何使用 JS 输出 JS 语法 JS 语句 JS 注释 JS 变量 JS 运算符 JS 条件语句 JS 循环 JS 字符串 JS 数字 JS 函数 JS 对象 JS 日期 JS 数组 JS 类型化数组 JS 集合 JS Map 映射 JS Math JS 正则表达式 JS 数据类型 JS 错误 JS 事件 JS 编程 JS 关键字参考 JS 保留关键字参考 JS 运算符参考 JS 运算符优先级 JS UTF-8 字符 JS UTF-8 符号 JS UTF-8 表情符号 JS 版本

JavaScript 作用域


作用域指的是您有权访问的变量集合。


JavaScript 函数作用域

在 JavaScript 中有两种作用域类型:

  • 局部作用域
  • 全局作用域

JavaScript 拥有函数作用域:每个函数创建一个新的作用域。

作用域决定了这些变量的可访问性(可见性)。

函数内部定义的变量从函数外部是不可访问的(不可见的)。


局部 JavaScript 变量

在 JavaScript 函数中声明的变量,会成为函数的局部变量

局部变量的作用域是局部的:只能在函数内部访问它们。

实例

// 这里的代码不能使用 carName

function myFunction() {
  var carName = "Volvo";

  // 这里的代码可以使用 carName

}
亲自试一试 »

由于只能在函数内部识别局部变量,因此能够在不同函数中使用同名变量。

在函数开始时会创建局部变量,在函数完成时会删除它们。


全局 JavaScript 变量

函数之外声明的变量,会成为全局变量

全局变量的作用域是全局的:网页的所有脚本和函数都能够访问它。

实例

var carName = "Volvo";

// 这里的代码可以使用 carName

function myFunction() {

  // 这里的代码也可以使用carName 

}
亲自试一试 »

JavaScript 变量

在 JavaScript 中,对象和函数也是变量。

作用域决定了从代码不同部分对变量、对象和函数的可访问性。


自动全局

如果您为尚未声明的变量赋值,此变量会自动成为全局变量。

这段代码将声明一个全局变量 carName,即使在函数内进行了赋值。

实例

 myFunction();

// 这里的代码可以使用 carName
 
function myFunction() {
  carName = "Volvo";
}
亲自试一试 »

严格模式

所有现代浏览器都支持以"严格模式"运行 JavaScript。

您将在本教程稍后的章节学习更多如何使用严格模式的知识。

在"严格模式"中不会自动创建全局变量。


HTML 中的全局变量

通过 JavaScript,全局作用域形成了完整的 JavaScript 环境。

在 HTML 中,全局作用域是 window。所有全局变量均属于 window 对象。

实例

 var carName = "Volvo";

// 这里的代码可以使用 window.carName
亲自试一试 »

警告

除非有意为之,否则请勿创建全局变量。

您的全局变量(或函数)能够覆盖 window 变量(或函数)。

任何函数,包括 window 对象,能够覆盖您的全局变量和函数。


JavaScript 变量的有效期

JavaScript 变量的有效期始于其被创建时。

局部变量会在函数完成时被删除。

全局变量会在您关闭页面是被删除。


函数参数

函数参数也是函数内的局部变量。


freew3c.com 中文网是独立运营的中文开发者学习平台,与 freew3c.com 无关联。提供的内容仅用于学习和测试,不保证内容的正确性。


Copyright @2020-2026 京ICP备888888号-8