在JS中,with 語句的作用是將代碼的作用域設(shè)置到一個特定的對象中。其語法如下:with (expression) statement;
定義 with 語句的目的主要是為了簡化多次編寫同一個對象的工作,如下面的代碼:
var qs = location.search.substring(1);var hostName = location.hostname;var url = location.href;
上面幾行代碼都包含 location 對象。如果使用 with 語句,可以把上面的代碼改寫成如下所示:
with(location){ var qs = search.substring(1); var hostName = hostname; var url = href;}下面的代碼使用 with 語句關(guān)聯(lián)了 location 對象。這意味著在 with 語句的代碼塊內(nèi)部,每個變量首先被認為是一個局部變量,而如果在局部環(huán)境中找不到該變量的定義,就會查詢
location 對象中是否有同名的屬性。如果發(fā)現(xiàn)了同名屬性,則以 location 對象屬性的值作為變量的值。
大量使用with非常耗性能,而且在嚴格模式下使用with語句會報錯。所以建議沒什么 必要不要用with語句
實例擴充:
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>With語句(類似于VB中的)</title><script type="text/javascript"> function Student(name, age) { this.name = name; this.age = age; } var stu = new Student('羅納爾多', 36); with (stu) { //With語句(類似于VB中的),用于簡化代碼 alert("Name:" + name + ",Age:" + age); }</script></head><body></body></html>以上就是錯新站長站小編整理分享的全部知識點內(nèi)容,感謝大家的支持。
新聞熱點
疑難解答
圖片精選