当前位置: 首页 > news >正文

前端面试——js作用域

说一说JS的作用域吧

作用域的分类

作用域分为:全局作用域函数作用域块级作用域

作用域的特性

全局作用域:

能够让变量和函数在全局位置访问,其挂载在浏览器的window对象下面

其中var定义的变量和function函数存在提升,可以在顶部访问。但是箭头函数不行

参考:一次彻底搞清楚js中变量和函数(包括箭头函数)提升_箭头函数为什么不会变量提升-CSDN博客

函数作用域:

只能在其所在函数区块访问

块级作用域:

出现let,const,从此一个花括号也可以拥有自己独有的变量

举例

全局作用域

        console.log('xxxxx',values);console.log('xxxxx',test());console.log('xxxxx',yyy());var values = 777function test() {var values = "test输出"console.log(values)}const yyy = () => {console.log('yyyyyy');}

 

函数作用域

function test() {var values = 777console.log(values)
}
console.log('xxxxx',window.values,values);

 

块级作用域

        if (true) {var values1 = 888 // 块级作用域,依旧会在外面访问let values2 = 999const values3 = 1000}try {console.log('xxxxx', values1);} catch {console.log('values1报错');}try {console.log('xxxxx', values2);} catch {console.log('values2报错');}try {console.log('xxxxx', values3);} catch {console.log('values3报错');}


http://www.mrgr.cn/news/2520.html

相关文章:

  • 高性能日志系统 代理模式构建全局日志器获取接口
  • windows hook之进程防杀(任务管理器)
  • 基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(一)---UnrealCV获取深度+分割图像
  • linux下主机网络不通,如何进行排查?
  • Redis 作为 PHP 的会话存储
  • matlab rng函数的理解和使用
  • ip地址冲突的原因及其解决方法是什么
  • Flask SQLALchemy 的使用
  • 华为OD机试(C卷,100分)- 游戏分组
  • Java面试题———MySql篇②
  • 基于Hadoop的异构网络协同过滤推荐算法设计
  • 深度学习--包的弃用问题
  • 微服务:分布式事务
  • docker+ollama运行微软graphRAG实战流程1-安装运行模型
  • 一口气学完Python编程语言的基础内容
  • 华为LTC流程体系的内涵(附PPT分享)
  • 同态加密和SEAL库的介绍(十)CKKS 参数心得 2
  • [星瞳科技]OpenMV使用时有哪些常见错误和解决办法?
  • 远程在线诊疗小程序的设计
  • 微信小程序: including tag name selectors, ID selectors, and at