with語句擴充套件乙個語句的作用域鏈。
with(expression)
將給定的expression新增到在statement使用的作用域鏈上。表示式周圍的括號是必需的
j**ascript查詢某個未使用命名空間的變數時,會通過作用域鏈來查詢,作用域鏈是跟執行**的context或者包含這個變數的函式有關。
'with'語句將某個物件新增到作用域鏈的頂部,如果在statement中有某個未使用命名空間的變數,跟作用域鏈中的某個屬性同名,則這個變數將指向這個屬性值。
利:with
語句可以在不造成效能損失的情況下,減少變數的長度。其造成的附加計算量很少。使用'with'可以減少不必要的指標路徑解析運算。需要注意的是,很多情況下,也可以不使用with語句,而是使用乙個臨時變數來儲存指標,來達到同樣的效果。
弊:with
語句使得程式在查詢變數值時,都是先在指定的物件中查詢。所以那些本來不是這個物件的屬性的變數,查詢起來將會很慢。如果是在對效能要求較高的場合,'with'下面的statement語句中的變數,只應該包含這個指定物件的屬性。
obj=with
(obj)
//1 2
JS中showModalDialog的用法
基本介紹 showmodaldialog ie 4 支援 showmodelessdialog ie 5 支援 window.showmodaldialog 方法用來建立乙個顯示html內容的模態對話方塊。window.showmodelessdialog 方法用來建立乙個顯示html內容的非模態對...
java中stringBuilder的用法
string 物件是不可改變的。每次使用 system.string 類中的方法之一時,都要在記憶體中建立乙個新的字串物件,這就需要為該新物件分配新的空間。在需要對字串執行重複修改的情況下,與建立新的 string 物件相關的系統開銷可能會非常昂貴。如果要修改字串而不建立新的物件,則可以使用 sys...
jquery,extjs中的extend用法小結
在jquery中,extend其實在做外掛程式時還是用的比較多的,今天同時小結jquery和ext js中 的extend用法,先來看jquery中的。1 extend dest,src1,src2,src3.var start var more var extra var extended ext...