JavaScript的with語句、switch語句及函數

1、with語句

with語句的作用是將代碼的作用域設置到一個特定的對象中,主要目的是為瞭簡化多次編寫同一個對象的工作,如下例所示:

var qs = location.search.substring();
var hostName = location.hostname;
var url = location.href;

上面幾行代碼可以用with語句寫成如下形式:

with(location){
    var qs = search.substring();
    var hostName = hostname;
    var url = href; 
}

!!註意:嚴格模式下不允許使用with語句,在開發大型應用程序時,不建議使用with語句。

2、switch語句

與許多其他語言不同,JavaScript可以在switch語句中使用任何數據類型,如下:

switch ("hello world") {
    case "hello" + " world":
        alert("Greeting was found");
        break;
    case "goodbye":
        alert("closing was found");
        break;
    default:
        alert("Unexpected message was found");
}

運行結果如下:

這裡寫圖片描述

!!switch語句在比較值時使用的是全等操作,不會發生類型轉換。

3、函數

1、參數

ECMAScript函數不在意傳遞進來多少個參數,也不在乎是什麼數據類型,也就是說,即便你定義的函數隻接受兩個參數,調用時可以傳遞一個、三個或者不傳遞參數。

原因是ECMAScript中的參數在內部是用一個數組表示的,函數接收到的是這個數組,而不關心數組中包含哪些參數。

函數體內可以通過arguments對象來訪問這個參數數組,從而獲取傳遞給函數的每一個參數。

function sayHi(){
    alert("Hello "+arguments[0]+","+arguments[1]);
}
sayHi("Mike","welcome");

運行結果如下:

這裡寫圖片描述

關於函數的註意點:

ECMAScript函數不能實現傳統意義上的重載,如果定義瞭兩個名字相同的函數,則該名字隻屬於後定義的函數。

發佈留言