自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一篇文章帶你了解JavaScript作用域

開發(fā) 前端
本文基于JavaScript,介紹了了函數(shù)作用域和變量作用域。介紹了變量中全局變量的幾種顯示的方法,在HTML中的全局變量應(yīng)該如何去表示。通過案例的講解,讓讀者更好的去理解。

[[401416]]

 在JavaScript中,對象和函數(shù)也是變量。在JavaScript中,作用域是你可以訪問的變量、對象和函數(shù)的集合。

JavaScript 有函數(shù)作用域: 這個作用域在函數(shù)內(nèi)變化。

一、本地JavaScript變量

一個變量聲明在JavaScript函數(shù)內(nèi)部,成為函數(shù)的局部變量。

局部變量有局部作用域: 它們只能在函數(shù)中訪問。

JS:

  1. //code here can not use carName 
  2.   <script> 
  3.     reFunction(); 
  4.     document.getElementById("demo").innerHTML = 
  5.     "carName的類型是 " + typeof carName; 
  6.  
  7.     function reFunction() { 
  8.         var carName = "Volvo"
  9.     } 
  10. </script> 

由于局部變量只在它們的函數(shù)中被識別,所以具有相同名稱的變量可以在不同的函數(shù)中使用。

當(dāng)函數(shù)啟動時創(chuàng)建局部變量,當(dāng)函數(shù)完成時刪除。

二、全局JavaScript變量

函數(shù)外聲明的變量, 成為全局變量。

全局變量具有全局作用域: 網(wǎng)頁上的所有腳本和函數(shù)都可以訪問它。

  1. <script> 
  2.     var carName = "Volvo"; //可以從任何腳本或函數(shù)訪問全局變量 
  3.     myFunction(); 
  4.  
  5.     function myFunction() { 
  6.         document.getElementById("demo").innerHTML = 
  7.         "I can display " + carName; 
  8.     } 
  9. </script> 

自動全局

如果給未聲明的變量賦值, 它會自動成為全局變量。

此代碼示例將聲明一個全局變量carName,即使賦的值是函數(shù)內(nèi)部。

  1. myFunction(); 
  2.  
  3. // code here can use carName 
  4.  
  5. function myFunction() { 
  6.     carName = "Volvo"

不要創(chuàng)建全局變量,除非你非常需要,在嚴(yán)格模式下 "Strict Mode"自動全局變量將失敗。

三、在HTML中的全局變量

在JavaScript中,全局作用域是完整的JavaScript環(huán)境。

在HTML中,全局作用域是window對象。所有的全局變量都屬于window對象。

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.   <meta charset="UTF-8"
  5.   <title>項(xiàng)目</title> 
  6. </head> 
  7. <body style="background-color: aqua;"
  8.  
  9.   <p> 
  10.   在HTML中,所有的全局變量將成為窗口window變量。 
  11.   </p> 
  12.  
  13.   <p id="demo"></p> 
  14.  
  15.   <script> 
  16.     var carName = "Volvo"
  17.  
  18.     // code here can use window.carName 
  19.     document.getElementById("demo").innerHTML = "I can display " + window.carName; 
  20. </script> 
  21.  
  22. </body> 
  23. </html>  

全局變量(或函數(shù))可以覆蓋窗口變量(或函數(shù)). 任何函數(shù),包括窗口對象,都可以覆蓋全局變量和函數(shù).

四、JavaScript 代碼塊作用域

表中是var,let和const之間的區(qū)別。

用var關(guān)鍵字聲明的變量不能具有塊作用域,{}可以從塊外部訪問在塊內(nèi)部聲明的變量:

  1.   var num = 50; 
  2.   } 
  3.   // num 能在這里使用 

用let關(guān)鍵字聲明的變量可以具有“塊作用域”。

{}不能從塊外部訪問在塊內(nèi)部聲明的變量:

  1.   let num = 50; 
  2.   } 
  3.   // num不能在這里使用 

聲明變量with const與let]涉及塊作用域類似。

  1.   const num = 50; 
  2.   } 
  3.   // num不能在這里使用 

常量的值不能通過重新分配而更改,也不能重新聲明。

五、總結(jié)

本文基于JavaScript,介紹了了函數(shù)作用域和變量作用域。介紹了變量中全局變量的幾種顯示的方法,在HTML中的全局變量應(yīng)該如何去表示。通過案例的講解,讓讀者更好的去理解。

代碼很簡單, 希望能夠幫助你學(xué)習(xí)。

 

責(zé)任編輯:姜華 來源: 前端進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2020-11-10 10:48:10

JavaScript屬性對象

2021-01-29 18:41:16

JavaScript函數(shù)語法

2021-02-02 18:39:05

JavaScript

2021-06-04 09:56:01

JavaScript 前端switch

2023-07-30 15:18:54

JavaScript屬性

2021-01-26 23:46:32

JavaScript數(shù)據(jù)結(jié)構(gòu)前端

2021-03-09 14:04:01

JavaScriptCookie數(shù)據(jù)

2021-06-24 09:05:08

JavaScript日期前端

2023-09-06 14:57:46

JavaScript編程語言

2024-01-30 13:47:45

2024-04-19 14:23:52

SwitchJavaScript開發(fā)

2021-03-05 18:04:15

JavaScript循環(huán)代碼

2021-05-18 08:30:42

JavaScript 前端JavaScript時

2024-07-02 14:14:18

2023-08-27 15:18:17

JavaScriptRegExp

2021-05-07 14:17:01

JavaScript元素網(wǎng)頁

2025-03-21 12:54:01

2021-04-20 11:20:24

Java開發(fā)運(yùn)算符

2022-05-13 16:21:38

javascrip腳本SVG

2023-06-06 15:45:40

JavaScript數(shù)組
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號