在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("测试");
以上代码的输出值是"测试一",所以赋值的变量的优先级要高于形式参数。