標籤:處理器 代碼執行 說明 特定 需要 多次 end 代碼 影響
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
JavaScript提供了一個with語句,本意是想用它來快捷地訪問對象的屬性,不幸的是,它的結果可能有時不可預料,所以應該避免使用它
例如
with (obj) { a = b}
它等於這些語句中的某一條,
a = b;a = obj.bobj.a = bobj.b = obj.a
你無法辨別出得到的是這些語句中的哪一條,而且with本身嚴重影響了Javascript處理器的速度,它的本意是好的,但如果沒有它,Javascript語言會更好一點。
避免使用 JS 特性 with(obj){}