javascript中的with語(yǔ)句學(xué)習(xí)筆記及用法
在JS中,with 語(yǔ)句的作用是將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中。其語(yǔ)法如下:with (expression) statement;
定義 with 語(yǔ)句的目的主要是為了簡(jiǎn)化多次編寫(xiě)同一個(gè)對(duì)象的工作,如下面的代碼:
var qs = location.search.substring(1); var hostName = location.hostname; var url = location.href;
上面幾行代碼都包含 location 對(duì)象。如果使用 with 語(yǔ)句,可以把上面的代碼改寫(xiě)成如下所示:
with(location){
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}
下面的代碼使用 with 語(yǔ)句關(guān)聯(lián)了 location 對(duì)象。這意味著在 with 語(yǔ)句的代碼塊內(nèi)部,每個(gè)變量首先被認(rèn)為是一個(gè)局部變量,而如果在局部環(huán)境中找不到該變量的定義,就會(huì)查詢
location 對(duì)象中是否有同名的屬性。如果發(fā)現(xiàn)了同名屬性,則以 location 對(duì)象屬性的值作為變量的值。
大量使用with非常耗性能,而且在嚴(yán)格模式下使用with語(yǔ)句會(huì)報(bào)錯(cuò)。所以建議沒(méi)什么 必要不要用with語(yǔ)句
實(shí)例擴(kuò)充:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>With語(yǔ)句(類似于VB中的)</title>
<script type="text/javascript">
function Student(name, age) {
this.name = name;
this.age = age;
}
var stu = new Student('羅納爾多', 36);
with (stu) {
//With語(yǔ)句(類似于VB中的),用于簡(jiǎn)化代碼
alert("Name:" + name + ",Age:" + age);
}
</script>
</head>
<body>
</body>
</html>
以上就是腳本之家小編整理分享的全部知識(shí)點(diǎn)內(nèi)容,感謝大家的支持。
相關(guān)文章
JavaScript利用append添加元素報(bào)錯(cuò)的解決方法
這篇文章主要介紹了JavaScript利用append添加元素報(bào)錯(cuò)的解決方法,需要的朋友可以參考下2014-07-07
javascript HTML5文件上傳FileReader API
這篇文章主要介紹了javascript HTML5文件上傳FileReader API的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-04-04
JavaScript基于setTimeout實(shí)現(xiàn)計(jì)數(shù)的方法
這篇文章主要介紹了JavaScript基于setTimeout實(shí)現(xiàn)計(jì)數(shù)的方法,涉及javascript中setTimeout方法的使用技巧,需要的朋友可以參考下2015-05-05

