with this 中with的用法及其優缺點

2022-09-06 16:33:09 字數 678 閱讀 7068

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...