形参和全局变量同名时哪个优先级更高

简介: 形参和全局变量同名时哪个优先级更高

在JavaScript中,当形参(函数参数)和全局变量同名时,形参的优先级高于全局变量。这是因为当函数被调用时,形参会在函数的作用域内被创建,并且这个作用域会覆盖全局作用域。

具体来说:

  1. 函数作用域:JavaScript中的函数在执行时会创建一个新的作用域(也称为局部作用域)。这个作用域包含了函数内部声明的所有变量、函数和形参。
  2. 作用域链:在JavaScript中,当查找一个变量时,会首先在当前作用域中查找。如果找不到,就会沿着作用域链向上查找,直到找到全局作用域。
  3. 形参和全局变量:当形参和全局变量同名时,由于形参是在函数作用域内声明的,因此它会在该作用域内被创建。当在函数内部引用这个变量时,会首先在当前作用域(即函数作用域)中查找,找到形参后就不会继续向上查找全局变量了。

以下是一个示例:

var globalVar = '我是全局变量';  
  
function myFunction(globalVar) {  
    console.log(globalVar); // 输出 '我是形参',而不是 '我是全局变量'  
}  
  
myFunction('我是形参');

在这个示例中,虽然有一个名为globalVar全局变量,但在myFunction函数内部,由于形参globalVar的存在,当调用console.log(globalVar);时,会输出形参的值'我是形参',而不是全局变量的值'我是全局变量'

因此,形参的优先级高于全局变量

相关文章
|
编译器 Shell Android开发
工具技能学习(一):前置技能-makfile、make、.mk
工具技能学习(一):前置技能-makfile、make、.mk
1104 0
|
4月前
|
机器学习/深度学习 人工智能 Java
实测对比:企业落地的主流 AI 开发框架测评
本文以中立、客观、可落地为原则,实测对比JBoltAI、LangChain、Spring AI等主流AI框架,聚焦Java企业适配性、国产模型支持、工程化能力及存量系统改造难度,提供清晰选型建议。(239字)
342 0
|
存储 SQL JSON
信创迁移适配实战-MySQL到达梦数据库DM8的数据迁移
信创迁移适配实战-MySQL到达梦数据库DM8的数据迁移
8109 0
信创迁移适配实战-MySQL到达梦数据库DM8的数据迁移
|
消息中间件 Java Kafka
Golang 语言中 kafka 客户端库 sarama
Golang 语言中 kafka 客户端库 sarama
978 0
|
Java
重磅!阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell
阿里巴巴想全球Java开发者的重磅献礼!
6861 0
重磅!阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell
|
存储 编解码 前端开发
前端 js 经典:字符编码详解
前端 js 经典:字符编码详解
578 0
substr与substring的区别
substr与substring的区别
|
Windows
一招解决教希沃白板登录麻烦的困扰!
如果你们教室里面也是用的希沃白板,相信用上几次,你就会爱上这个教学神器。
8051 0
|
存储 缓存 安全
|
分布式计算 Spark 开发者
阿里云RemoteShuffleService新功能:AQE和流控
阿里云EMR自2020年推出Remote Shuffle Service(RSS)以来,帮助了诸多客户解决Spark作业的性能、稳定性问题,并使得存算分离架构得以实施。为了更方便大家使用和扩展,RSS在2022年初开源,欢迎各路开发者共建。本文将介绍RSS最新的两个重要功能:支持Adaptive Query Execution(AQE),以及流控。
阿里云RemoteShuffleService新功能:AQE和流控