最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

javascript作用域 (Scope) 什么是作用域?

2021-05-17 15:14 作者:極客小俊GeekerJun  | 我要投稿

極客小俊

一個把邏輯思維轉(zhuǎn)變?yōu)榇a的技術(shù)博主


1.什么是作用域?

作用域 英文:scope 從字面上理解,作用域就是作用的區(qū)域或者起作用的范圍, 那么在我們的javascript當(dāng)中,作用域就是指一個變量或者函數(shù)的作用范圍! ?

javascript作用域 規(guī)定了 變量函數(shù) 有權(quán)訪問的其他數(shù)據(jù)!

我們在項目開發(fā)當(dāng)中,會經(jīng)常遇見跟作用域 有關(guān)的操作, 其實作用域的核心思想就是隔離變量,在不同作用域下的同名變量是不會有沖突的


2.作用域的分類

javascript作用域分為兩種: 如下

  1. 全局作用域

  2. 局部作用域(也稱為:函數(shù)作用域)


3.全局作用域

什么是全局作用域?

概念 ?當(dāng)我們打開瀏覽器加載HTML頁面的時候,首先瀏覽器會提供一個供全局JS代碼執(zhí)行的環(huán)境 這個環(huán)境俗稱: ?全局作用域

只要是編寫在script標(biāo)簽中的javascript代碼、例如;變量、函數(shù)等..那么這些都在全局作用域中!

全局作用域 在頁面打開的時候就自動創(chuàng)建,也就是說當(dāng)你使用瀏覽器打開頁面的時候,同時也加載了script標(biāo)簽之后,全局作用域便由此產(chǎn)生了, 并且在頁面關(guān)閉或者說關(guān)閉瀏覽器的時候全局作用域也自動銷毀掉了, 用簡單的一句話概括就是: 在打開時創(chuàng)建,在關(guān)閉時銷毀


什么是全局變量和全局函數(shù)?

全局作用域下聲明的變量通常叫做全局變量

全局作用域下聲明的函數(shù)通常叫做全局函數(shù)

所以在全局作用域下聲明的變量函數(shù) 等.. 在頁面中的任何地方都可以使用!

代碼說明

?<script type="text/javascript">
? ? ?//全局作用域開始------------------------
? ? ?
? ? ?//定義一個全局函數(shù)
? ? ?function test() {
? ? ? ? ?console.log('hello world');
? ? ?}
? //定義一個全局變量
? var num=100;
?
? ? ?//全局作用域結(jié)束------------------------
?</script>


有些人就會問了為什么全局作用域中的變量函數(shù) 可以在任意的地方使用呢?原因是什么?

那么說到這里就不得不提一個東西那就是window對象


windows對象

首先了解一下window對象是什么與如何產(chǎn)生的?

上面說了當(dāng)你打開一個頁面的時候就會產(chǎn)生一個全局作用域, 打開多少頁面全局作用域就有幾個! 而每個全局作用域(這樣的執(zhí)行環(huán)境) 都會對應(yīng)的創(chuàng)建一個與之關(guān)聯(lián)的對象, 并且在 這個全局環(huán)境中定義的所有變量函數(shù)統(tǒng)統(tǒng)保存到這個對象中,而這個對象就是我們要說的 window對象!

所以,在全局作用域中就有一個全局對象window它代表的就是一個瀏覽器窗口,window對象 由瀏覽器創(chuàng)建,打開一個窗口就會自動生成一個window對象,也就是說可以直接使用!

所以全局執(zhí)行環(huán)境是最外層的作用域全局執(zhí)行環(huán)境你也可以理解為 就是window對象


全局作用域、window對象之間的關(guān)系

全局作用域是腳本中,最外層的一個作用域, 在web瀏覽器中, 全局作用域會被認(rèn)為就是window對象 那么因此 所有的全局變量全局函數(shù)也都是作為window對象屬性方法來進(jìn)行保存的,明白這一點很重要!

代碼說明:

?//定義一個全局函數(shù)
?function test() {
? ? ?console.log('hello world');
?}
?//定義全局變量
?var num=100;
?var num2=500;
?var num3=3.14;
?
?//變量會作為window對象的屬性進(jìn)行保存
?console.log(window.num);
?console.log(window.num2);
?console.log(window.num3);
?//函數(shù)會作為window對象的方法進(jìn)行保存
?window.test();


小結(jié)

全局作用域中我們創(chuàng)建的變量和函數(shù)都會作為window對象屬性來保存



javascript作用域 (Scope) 什么是作用域?的評論 (共 條)

分享到微博請遵守國家法律
夏河县| 宁城县| 西峡县| 梁山县| 胶南市| 孟津县| 平潭县| 集安市| 香港| 塘沽区| 邵武市| 西安市| 伊宁县| 城口县| 寻乌县| 偏关县| 贡觉县| 利川市| 乌兰察布市| 新平| 邵东县| 常山县| 贵南县| 南宫市| 定安县| 周宁县| 玉树县| 临汾市| 湛江市| 山西省| 兴安县| 襄汾县| 托克托县| 泸州市| 页游| 茌平县| 西乡县| 林西县| 本溪| 商都县| 广西|