JavaScript---5.作用域
2021/10/27 1:10:01
本文主要是介绍JavaScript---5.作用域,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-
作用域
-
作用域指的是一个变量的作用范围
-
在JS中一共有两种作用域:
1.全局作用域
2.函数作用域 -
全局作用域
-
创建的变量都会作为window对象的属性保存
-
创建的函数都会作为window对象的方法保存
var a = 10; var b = 20; console.log(window.a, window.b); function fun(){ console.log("我是fun函数"); } window.fun(); window.alert("hello");
-
-
函数作用域
-
调用函数时创建函数作用域 函数执行完毕后 函数作用域销毁
-
每调用一次函数就会创建一个新的函数作用域 他们之间是相互独立的
-
在函数作用域中 可以访问到全局作用域的变量
在全局作用域中无法访问到函数作用域的变量
注意:如果在函数作用域,没有使用var 直接给一个变量赋值 相当于是 window.a=x 它是全局变量 -
当在函数作用域操作一个变量时,它会先在自身作用域中寻找,如果有就直接使用,没有在上一级中找
如果没有想上一级作用域中找,直到找到全局作用域为止。
如果全局作用域中依然没有找到,则会报错ReferenceError -
在函数中要访问全局变量可以使用window 比如window.a
-
在函数作用域中也有声明提前的特性
使用var关键字声明的变量 会在函数中所有的代码执行之前被声明
函数声明也会在函数中所有的代码执行之前执行 -
在函数中,不使用var声明的变量都会称为全局变量
-
定义形参就相当于在函数作用域中声明了变量
-
-
-
关于提前声明
-
变量的提前声明
- 使用var关键字声明的变量,会在所有的代码执行之前被声明(先声明 后赋值,赋值是在执行到声明所在行时生效)
- 如果声明变量时不适用var关键字,则变量不会被声明提前
-
函数的提前声明
- 使用函数声明形式创建的函数 function fun(){} 它会在所有的大妈执行前就被创建加载 所以可以在函数声明前调用函数
- 使用函数表达式创建的函数 不会被提前声明 所以不能在声明前调用
-
这篇关于JavaScript---5.作用域的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-30我的第一个Go命令行工具
- 2024-09-30初学者指南:轻松掌握模块化编程
- 2024-09-30顶级5款免费的IntelliJ插件,助你Java开发之路更顺畅
- 2024-09-30提高应用程序可用性:冗余和持久性
- 2024-09-30Twitter 系统设计面试示例
- 2024-09-30JSON对象入门教程:轻松掌握基础用法
- 2024-09-30封装入门:Java面向对象编程的第一步
- 2024-09-30后台交互入门:轻松掌握基础知识与实践技巧
- 2024-09-30轻松入门:后台交互教程详解
- 2024-09-30后台交互项目实战:新手指南