js中同名变量或者参数的优先级

在javascript代码中,可能会出现一些变量或者参数重名的现象,所以要确认一下到底是哪一个变量或者参数在起作用,下面就对此进行一下简单的罗列性介绍,希望能够给需要的朋友带来帮助。

一.局部的优先级要高于全局变量:

var a=1;
function func(){
  var a=2;
  console.log(a);
}
func();

以上的输出结果是2,说明局部变量覆盖了全局变量。

二.形式参数的优先级高于函数名称:

function func(func){
  console.log(func)
}
func(2)

以上代码的输出只说明形参的优先级要高于函数的名称。

三.形式参数的优先级高于arguments对象:

[JavaScript] 纯文本查看 复制代码

function func(arguments){
  console.log(arguments)
}
func(2)

以上函数的输出值是2,这说明形参的优先级要高于arguments对象。

四.形式参数的优先级要高于声明确为赋值的变量:

function func(webName){
  var webName;
  console.log(webName);
}
func("测试");

以上代码的输出值是"测试",这说明形参的优先级要高于声明却为赋值的变量。否则的话,此函数的输出值为undefined。

五.形式参数的优先级要低于赋值的变量:

function func(webName){
  webName="测试一";
  console.log(webName);
}
func("测试");

以上代码的输出值是"测试一",所以赋值的变量的优先级要高于形式参数。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值