内容導讀: 有了 With 語句,在存取對象屬性和方法時就不用重複指定參考對象,在 With 語句塊中,凡是 JavaScript 不識别的屬性和方法都和該語句塊指定的對象有關。With 語句的文法格式如下所示:
With Object {
Statements
}
對象指明了當語句組中對象預設時的參考對象,這裡我們用較為熟悉的 Document 對象對 With 語句舉例。例如 當使用與 Document 對象有關的 write( )或 writeln( )方法時,往往使用如下形式:
document.writeln(”Hello!“)
如果需要顯示大量資料時,就會多次使用同樣的 document.writeln()語句,這時就可以像下面的程式那樣,把所有以 Document 對象為參考對象的語句放到With 語句塊中,進而達到減少語句量的目的。下面是一個With 語句使用的例子:
<html>
<head>
<title>JavaScript Unleashed</title>
</head>
<body>
<script type="text/javascript">
<!—
with(document){
write("您好 !");
write("<br>這個文檔的标題是 : \"" + title + "\".");
write("<br>這個文檔的 URL 是: " + URL);
write("<br>現在您不用每次都寫出 document 對象的字首了 !");
}
// -->
</script>
</body>
</html>
這樣,您在使用 document 的方法和屬性時就可以去掉 Document 字首。
請注意程式中的 title 和 URL 均是 Document 對 象的屬性,一般情況下應寫作document.title 和document.URL 使用 With 語句,您隻需指定一次參考對象,這同把每一行都用document.writeln()列印下來的結果一樣,這個例子的執行結果如圖1所示
注意:由于浏覽器的不同在本例中您可能看到,URL 的一種編碼格式。
圖1