淺談JS封閉函數(shù)、閉包、內(nèi)置對象
一、變量作用域指的是變量的作用范圍,javascript中的變量分為全局變量和局部變量
1、全局變量:在函數(shù)之外定義的變量,為整個頁面公用,函數(shù)的內(nèi)部外部都可以訪問。
2、局部變量:在函數(shù)內(nèi)部定義的變量,只能在定義該變量的函數(shù)內(nèi)部訪問,外部無法訪問。函數(shù)內(nèi)部訪問變量時,先在內(nèi)部查找是否有此變量,如果有,就使用內(nèi)部,如果沒有,就去外部查找


二、封閉函數(shù)封閉函數(shù)是javascript中匿名函數(shù)的另外一種寫法,創(chuàng)建一個一開始就執(zhí)行而不用命名的函數(shù)。
1、一般函數(shù)的定義和執(zhí)行函數(shù)
2、封閉函數(shù)的定義和執(zhí)行:(function(){...})();還可以在函數(shù)定義前加上"~"或者"!"符號來定義匿名函數(shù)。

三、閉包
閉包就是函數(shù)嵌套函數(shù),內(nèi)部函數(shù)可以引用外部函數(shù)的參數(shù)和變量,參數(shù)和變量不會被垃圾回收機(jī)制收回

1、閉包用途1:將一個變量長期駐扎在內(nèi)存當(dāng)中,可用于循環(huán)中存索引值

2、閉包用途2:私有變量計數(shù)器,外部無法訪問,避免全局變量的污染

四、內(nèi)置對象1、document
比如說在商品詳情頁觀看時,想去購買,這是會跳轉(zhuǎn)到登錄頁面,登錄成功后使用該方法跳轉(zhuǎn)到商品詳情頁
document.referrer//獲取上一個跳轉(zhuǎn)頁面的地址(需要服務(wù)器環(huán)境)

2、location
a、window.location.href // 獲取或者重定url地址

b、window.location.search //獲取地址參數(shù)部分

c、window.location.hash //獲取頁面錨點或者哈希值

3、Math
a、Math.random 獲取0-1的隨機(jī)值

b、Math.floor 向下取整

c、Math.ceil 向上取整

以上這篇淺談JS封閉函數(shù)、閉包、內(nèi)置對象就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript面向?qū)ο蟪绦蛟O(shè)計中對象的定義和繼承詳解
這篇文章主要介紹了JavaScript面向?qū)ο蟪绦蛟O(shè)計中對象的定義和繼承,結(jié)合實例形式詳細(xì)分析了javascript面向?qū)ο蟪绦蛟O(shè)計中對象定義、繼承、屬性、方法、深拷貝等相關(guān)概念與操作技巧,需要的朋友可以參考下2019-07-07
javascript中setAttribute兼容性用法分析
這篇文章主要介紹了javascript中setAttribute兼容性用法,結(jié)合實例形式分析了javascript使用setAttribute進(jìn)行屬性設(shè)置操作的相關(guān)使用技巧,需要的朋友可以參考下2016-12-12
微信小程序開發(fā)(一):服務(wù)器獲取數(shù)據(jù)列表渲染操作示例
這篇文章主要介紹了微信小程序開發(fā)服務(wù)器獲取數(shù)據(jù)列表渲染操作,結(jié)合實例形式分析了微信小程序后臺獲取服務(wù)器數(shù)據(jù)及前臺列表渲染相關(guān)操作實現(xiàn)技巧,需要的朋友可以參考下2020-06-06
前端使用JSON.stringify實現(xiàn)深拷貝的巨坑詳解
這篇文章主要為大家介紹了JSON.stringify實現(xiàn)深拷貝的巨坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
微信小程序?qū)崿F(xiàn)圖片拖拽調(diào)換位置效果(開箱即用)
本篇文章給大家介紹如何在微信小程序中實現(xiàn)圖片的拖拽排序和刪除功能,通過創(chuàng)建自定義組件并使用示例代碼,代碼簡單易懂,感興趣的朋友跟隨小編一起看看吧2024-12-12

