淺談JS封閉函數(shù)、閉包、內(nèi)置對(duì)象
一、變量作用域指的是變量的作用范圍,javascript中的變量分為全局變量和局部變量
1、全局變量:在函數(shù)之外定義的變量,為整個(gè)頁面公用,函數(shù)的內(nèi)部外部都可以訪問。
2、局部變量:在函數(shù)內(nèi)部定義的變量,只能在定義該變量的函數(shù)內(nèi)部訪問,外部無法訪問。函數(shù)內(nèi)部訪問變量時(shí),先在內(nèi)部查找是否有此變量,如果有,就使用內(nèi)部,如果沒有,就去外部查找
二、封閉函數(shù)封閉函數(shù)是javascript中匿名函數(shù)的另外一種寫法,創(chuàng)建一個(gè)一開始就執(zhí)行而不用命名的函數(shù)。
1、一般函數(shù)的定義和執(zhí)行函數(shù)
2、封閉函數(shù)的定義和執(zhí)行:(function(){...})();還可以在函數(shù)定義前加上"~"或者"!"符號(hào)來定義匿名函數(shù)。
三、閉包
閉包就是函數(shù)嵌套函數(shù),內(nèi)部函數(shù)可以引用外部函數(shù)的參數(shù)和變量,參數(shù)和變量不會(huì)被垃圾回收機(jī)制收回
1、閉包用途1:將一個(gè)變量長(zhǎng)期駐扎在內(nèi)存當(dāng)中,可用于循環(huán)中存索引值
2、閉包用途2:私有變量計(jì)數(shù)器,外部無法訪問,避免全局變量的污染
四、內(nèi)置對(duì)象1、document
比如說在商品詳情頁觀看時(shí),想去購買,這是會(huì)跳轉(zhuǎn)到登錄頁面,登錄成功后使用該方法跳轉(zhuǎn)到商品詳情頁
document.referrer//獲取上一個(gè)跳轉(zhuǎn)頁面的地址(需要服務(wù)器環(huán)境)
2、location
a、window.location.href // 獲取或者重定url地址
b、window.location.search //獲取地址參數(shù)部分
c、window.location.hash //獲取頁面錨點(diǎn)或者哈希值
3、Math
a、Math.random 獲取0-1的隨機(jī)值
b、Math.floor 向下取整
c、Math.ceil 向上取整
以上這篇淺談JS封閉函數(shù)、閉包、內(nèi)置對(duì)象就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- js內(nèi)置對(duì)象 學(xué)習(xí)筆記
- JavaScript 核心參考教程 內(nèi)置對(duì)象
- javascript內(nèi)置對(duì)象arguments詳解
- javascript function、指針及內(nèi)置對(duì)象
- JavaScript 內(nèi)置對(duì)象屬性及方法集合
- 淺談JavaScript的內(nèi)置對(duì)象和瀏覽器對(duì)象
- 詳解JavaScript的內(nèi)置對(duì)象
- javascript 內(nèi)置對(duì)象及常見API詳細(xì)介紹
- JavaScript封閉函數(shù)及常用內(nèi)置對(duì)象示例
相關(guān)文章
實(shí)例講解javascript注冊(cè)事件處理函數(shù)
這篇文章主要以實(shí)例的方式向大家介紹了javascript注冊(cè)事件處理函數(shù),內(nèi)容很全面,感興趣的朋友可以參考一下2016-01-01TypeScript魔法堂之枚舉的超實(shí)用手冊(cè)
這篇文章主要介紹了TypeScript魔法堂之枚舉的超實(shí)用手冊(cè),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10JS判斷指定dom元素是否在屏幕內(nèi)的方法實(shí)例
做圖片滾動(dòng)加載的時(shí)候會(huì)判斷圖片是否在可視區(qū)域內(nèi),如果在就加載原地址圖片,下面這篇文章就給大家介紹了利用JS判斷指定dom元素是否在屏幕內(nèi)的方法實(shí)例,需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01JS實(shí)現(xiàn)簡(jiǎn)單Tab欄切換案例
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡(jiǎn)單Tab欄切換案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03分享十八個(gè)殺手級(jí)JavaScript單行代碼
這篇文章主要給大家分享了十八個(gè)殺手級(jí)JavaScript單行代碼,這些單行代碼可以幫助你提高工作效率并可以幫助調(diào)試代碼,對(duì)大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-10-10讓iframe自適應(yīng)高度(支持XHTML,支持FF)
讓iframe自適應(yīng)高度(支持XHTML,支持FF)...2007-07-07被jQuery折騰得半死,揭秘為何jQuery為何在IE/Firefox下均無法使用
某學(xué)員前日實(shí)施一個(gè)Web項(xiàng)目實(shí)施發(fā)生了悲劇,找到我求解決,把我也折騰個(gè)半死。2010-01-01