淺談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)文章
JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)中對(duì)象的定義和繼承詳解
這篇文章主要介紹了JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)中對(duì)象的定義和繼承,結(jié)合實(shí)例形式詳細(xì)分析了javascript面向?qū)ο蟪绦蛟O(shè)計(jì)中對(duì)象定義、繼承、屬性、方法、深拷貝等相關(guān)概念與操作技巧,需要的朋友可以參考下2019-07-07
javascript中setAttribute兼容性用法分析
這篇文章主要介紹了javascript中setAttribute兼容性用法,結(jié)合實(shí)例形式分析了javascript使用setAttribute進(jìn)行屬性設(shè)置操作的相關(guān)使用技巧,需要的朋友可以參考下2016-12-12
簡(jiǎn)易的投票系統(tǒng)以及js刷票思路和方法
這篇文章主要介紹了簡(jiǎn)易的投票系統(tǒng)以及js刷票思路和方法,文章十分的詳盡,思路也很清晰,是篇非常不錯(cuò)的文章,這里推薦給大家,有需要的小伙伴可以參考下。2015-04-04
微信小程序開發(fā)(一):服務(wù)器獲取數(shù)據(jù)列表渲染操作示例
這篇文章主要介紹了微信小程序開發(fā)服務(wù)器獲取數(shù)據(jù)列表渲染操作,結(jié)合實(shí)例形式分析了微信小程序后臺(tái)獲取服務(wù)器數(shù)據(jù)及前臺(tái)列表渲染相關(guān)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-06-06
前端使用JSON.stringify實(shí)現(xiàn)深拷貝的巨坑詳解
這篇文章主要為大家介紹了JSON.stringify實(shí)現(xiàn)深拷貝的巨坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
微信小程序?qū)崿F(xiàn)圖片拖拽調(diào)換位置效果(開箱即用)
本篇文章給大家介紹如何在微信小程序中實(shí)現(xiàn)圖片的拖拽排序和刪除功能,通過創(chuàng)建自定義組件并使用示例代碼,代碼簡(jiǎn)單易懂,感興趣的朋友跟隨小編一起看看吧2024-12-12

