JavaScript几个作用域问题
时间:2022-04-25
本文章向大家介绍JavaScript几个作用域问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、
var a = 0 ;
function f(){
a = 1;
console.log(a); //全局变量a
} console.log(a); //全局变量af();
输出结果为:1 1 ,function中未声明直接赋值的a为作用域window的全局变量,很好理解
2、
var a = 0;
function test(){
var a;
console.log(a); //局部变量a
a = 1;
console.log(a); //局部变量a
} test(); conosle.log(a); //全局变量a
输出结果为:undefined 1 0
3、
var a =0;
function test(){
console.log(a);
var a = 1;
console.log(a);
}
test();
console.log(a);
输出结果为:undefined 1 0
总结:
1. JavaScript中只存在两种作用域:全局作用域window和函数作用域function,外部的function domain嵌套内部的function domain,这就是闭包原理;
2. function domain中未使用var事先声明而直接赋值或调用的变量会访问上一层作用域中的同名变量,一直到window全局domain,如果找不到则会报错;
3. var声明变量的执行优先级是最高的,所以在例子3中test()中第一次console.log(a)执行之前,已经事先执行了var a声明,但并未执行a = 1赋值,所以此时输出undefined
- .NET Core的日志[3]:将日志写入Debug窗口
- Code2Cloud:比ALM中断更大
- .NET Core的日志[4]:将日志写入EventLog
- 微信小程序不行了?看小马哥带你忆童年
- ASP.NET MVC三个重要的描述对象:ControllerDescriptor和ActionDescriptor的创建
- .NET Core的日志[5]:利用TraceSource写日志
- 物联网芯片正在积极开发 明年将得到爆发
- 韩国全球首测5G网络下自动驾驶 为汽车安全保驾护航的竟是路灯
- 通过与Quickbuild和Mist.io的持续集成实现云管理和使用监控
- .NET Core的文件系统[1]:读取并监控文件的变化
- ASP.NET MVC以ValueProvider为核心的值提供系统: ValueProviderFactory
- 云本机应用程序成熟度的模型
- 如何利用ETW(Event Tracing for Windows)记录日志
- 如何利用ETW(Event Tracing for Windows)记录日志
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android使用RadioGroup实现底部导航栏
- Android 中Fragment与Activity通讯的详解
- Android常用控件ImageSwitcher使用方法详解
- Android实现阅读进度记忆功能
- Android 控制ScrollView滚动的实例详解
- Android 判断是否能真正上网的实例详解
- Android UI设计与开发之PopupWindow仿腾讯新闻底部弹出菜单
- android实现微信联合登录开发示例
- 详解Android WebView加载html片段
- Ubuntu 20.04最佳配置指南(新手必备)
- ScrollView与SeekBar绑定实现滑动时出现小滑块效果
- Android用StaticLayout实现文字转化为图片效果(类似长微博发送)
- Android中Dialog自定义上下文花式菜单
- Android ListView与getView调用卡顿问题解决办法
- Android四种数据存储的应用方式