javascript中的with語句學(xué)習(xí)筆記及用法
在JS中,with 語句的作用是將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中。其語法如下:with (expression) statement;
定義 with 語句的目的主要是為了簡化多次編寫同一個(gè)對(duì)象的工作,如下面的代碼:
var qs = location.search.substring(1); var hostName = location.hostname; var url = location.href;
上面幾行代碼都包含 location 對(duì)象。如果使用 with 語句,可以把上面的代碼改寫成如下所示:
with(location){ var qs = search.substring(1); var hostName = hostname; var url = href; }
下面的代碼使用 with 語句關(guān)聯(lián)了 location 對(duì)象。這意味著在 with 語句的代碼塊內(nèi)部,每個(gè)變量首先被認(rèn)為是一個(gè)局部變量,而如果在局部環(huán)境中找不到該變量的定義,就會(huì)查詢
location 對(duì)象中是否有同名的屬性。如果發(fā)現(xiàn)了同名屬性,則以 location 對(duì)象屬性的值作為變量的值。
大量使用with非常耗性能,而且在嚴(yán)格模式下使用with語句會(huì)報(bào)錯(cuò)。所以建議沒什么 必要不要用with語句
實(shí)例擴(kuò)充:
<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>
以上就是腳本之家小編整理分享的全部知識(shí)點(diǎn)內(nèi)容,感謝大家的支持。
相關(guān)文章
JavaScript實(shí)現(xiàn)簡單動(dòng)態(tài)進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單動(dòng)態(tài)進(jìn)度條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04淺析JavaScript作用域鏈、執(zhí)行上下文與閉包
JavaScript 采用詞法作用域(lexical scoping),函數(shù)執(zhí)行依賴的變量作用域是由函數(shù)定義的時(shí)候決定,而不是函數(shù)執(zhí)行的時(shí)候決定,通過本文給大家介紹JavaScript作用域鏈、執(zhí)行上下文與閉包相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2016-02-02uni-app和原生小程序混合開發(fā)的具體實(shí)現(xiàn)過程
最近項(xiàng)目中遇到了一些功能需要與原生進(jìn)行混合開發(fā),所以下面這篇文章主要給大家介紹了關(guān)于uni-app和原生小程序混合開發(fā)的具體實(shí)現(xiàn)過程,需要的朋友可以參考下2022-07-07Express框架詳解app函數(shù)使用實(shí)例
這篇文章主要為大家介紹了Express框架app函數(shù)使用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03微信小程序自定義菜單導(dǎo)航實(shí)現(xiàn)樓梯效果
在html開發(fā)中,我們可以用到a標(biāo)簽錨點(diǎn)實(shí)現(xiàn),jq的動(dòng)畫相結(jié)合實(shí)現(xiàn)類似效果。在框架中vant UI框架也為我們實(shí)現(xiàn)了這一效果。接下來通過本文給大家介紹微信小程序自定義菜單導(dǎo)航實(shí)現(xiàn)樓梯效果,感興趣的朋友一起看看吧2021-12-12Extjs4中tree的拖拽功能(可以兩棵樹之間拖拽) 簡單實(shí)例
這篇文章主要介紹了Extjs4中tree的拖拽功能簡單實(shí)例,有需要的朋友可以參考一下2013-12-12JavaScript Event事件學(xué)習(xí)第一章 Event介紹
Events是每一個(gè)JavaScript程序核心。什么是事件處理,它有什么問題和怎樣寫出跨瀏覽器的代碼,我將在這一章做一個(gè)概述。我也會(huì)提供一些有精彩的關(guān)于事件處理程序的細(xì)節(jié)的文章。2010-02-02