with 語句用於設置代碼在特定對象中的做用域。 javascript
它的語法: java
with (expression) statement
例如: express
var sMessage = "hello";
with(sMessage) {
alert(toUpperCase()); //輸出 "HELLO" }
在這個例子中,with 語句用於字符串,因此在調用 toUpperCase() 方法時,解釋程序將檢查該方法是不是本地函數。若是不是,它將檢查僞對象 sMessage,看它是否爲該對象的方法。而後,alert 輸出 "HELLO",由於解釋程序找到了字符串 "hello" 的 toUpperCase() 方法。 函數
提示:with 語句是運行緩慢的代碼塊,尤爲是在已設置了屬性值時。大多數狀況下,若是可能,最好避免使用它。 學習
1)簡要說明
with 語句能夠方便地用來引用某個特定對象中已有的屬性,可是不能用來給對象添加屬性。要給對象建立新的屬性,必須明確地引用該對象。
2)語法格式
with(object instance)
{
//代碼塊
}
有時候,我在一個程序代碼中,屢次須要使用某對象的屬性或方法,照之前的寫法,都是經過:對象.屬性或者對象.方法這樣的方式來分別得到該對象的屬性和方法,着實有點麻煩,學習了with語句後,能夠經過相似以下的方式來實現:
with(objInstance)
{
var str = 屬性1;
.....
} 去除了屢次寫對象名的麻煩。
3)舉例
<script language="javascript">
<!--
function Lakers() {
this.name = "kobe bryant";
this.age = "28";
this.gender = "boy";
}
var people=new Lakers();
with(people)
{
var str = "姓名: " + name + "<br>";
str += "年齡:" + age + "<br>";
str += "性別:" + gender;
document.write(str);
}
//-->
</script>
代碼執行效果以下:
姓名: kobe bryant
年齡:28
性別:boy this