在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("測試");
以上代碼的輸出值是"測試一",所以賦值的變量的優先級要高於形式參數。