當前位置:網站首頁>Js基礎_作用域
Js基礎_作用域
2022-01-27 19:14:43 【是發財不是旺財】
文章目錄
一、作用域 && 變量作用域
變量可以起作用的區域
目的:减少命名沖突,提高程序的可靠性
let num = 100;
function fn(){
let num = 10;
num3= num
console.log('num2:',num)
}
console.log('num1:',num)
fn()
console.log('num3',num3)
1.全局作用域 && 全局變量
全局作用域:
整個script標簽,或單獨的js文件起作用的區域
全局變量:
1.在全局作用域下都可以使用的變量例如上面代碼中的第一個num
2.在函數內部沒有聲明的變量也屬於全局變量,例如上面代碼的num3
3.全局變量只有在瀏覽器關閉的時候才會銷毀,比較占用內存資源
2.局部作用域 && 局部變量
局部作用域:
在函數內部起作用的區域
局部變量:
1.只能在函數內部使用的變量例如上面代碼中的第二個num
2.局部變量在程序執行完畢了之後就會銷毀,比較節約內存資源
二、var,let,cont區別
1.重複定義
2.值的修改
3.聲明提昇
var
let && const
4.塊級作用域
- var沒有塊級作用域
- let有塊級作用域
- const有塊級作用域
拓展
const值的修改
- 把const定義的i設置為一個數組
- 定義數組的第一個元素為‘這是啥’
- 定義數組的第二個元素為‘我不知道’
原理:
雖然const是不可變的,但是數組是可變的,我們改變的實際上是數組i當中第0個下標比特置的元素的值
function fn2(){
// const的變量不可以修改值
const i = []
i[0]= '這是啥';
i[0] = '我不知道';
console.log(i)
}
fn2()
三、作用域鏈
作用域嵌套形成的鏈式結構
更具內部函數可以訪問外部函數的變量,用鏈式查找决定哪些數據能被內部函數訪問,就稱為作用域鏈
var num = 10
function fn(){
// const的變量不可以修改值
var num = 20
function fn1(){
console.log(num)
}
fn1()
}
fn()
輸出的num是距離console.lo(num)最近的值
版權聲明
本文為[是發財不是旺財]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201271914426822.html
邊欄推薦
猜你喜歡
隨機推薦
- uniapp上傳圖片及組件傳值
- 瑞利年金險資金保障安全嗎?收益高不高啊?
- 華為手機USB連不上電腦的解决方法
- Flutter 2,移動金融應用開發
- 關於st25系列NFC標簽簡單介紹及st25TV系列用於門禁讀取時的注意事項總結
- 關於用ffmpeg轉手機視頻發現視頻長寬倒了的問題
- 函數 / 類模板--模板2
- 數組中的第k個最大的元素--優先級隊列、排序、堆、排序
- 單片機實例27——ADC0809A/D轉換器基本應用技術(硬件電路圖+匯編程序+C語言程序)
- Collection集合的學習
- 一場面試結束,某度員工從事Android 5年為何還是初級工程師?
- 3本書閱讀筆記【人月神話-Go語言實戰-研發能力持續成長路線】01
- PHP垃圾回收機制
- 【電子技術】什麼是LFSR?
- 死鎖?如何定比特到死鎖?如何修複死鎖?(jps和jstack兩個工具)
- 快樂寒假 22/01/20
- image
- 噴程序員?SURE?
- LDO分壓電阻計算小工具
- 面試之求一串字符串中每個字符的出現次數
- 【ISO15765_UDS&OBD診斷】-01-概述
- 【Mysql上分之路】第九篇:Mysql存儲引擎
- RHCE 第一次作業
- 2021.10.16我的第一篇博客:一切皆有可能!
- CTA-敏感行為-讀取IMEI
- 面試被問怎麼排查平時遇到的系統CPU飆高和頻繁GC,該怎麼回答?
- nuxt項目總結-綜合
- 自然語言處理學習筆記(一)
- C語言第一課
- 各比特大佬,Spark的重點難點系列暫時更新完畢
- 基於 esbuild 的 universal bundler 設計
- XCTFre逆向(四):insanity
- 理解什麼是真正的並發數
- JVM腦圖
- 【Pytorch(四)】學習如何使用 PyTorch 讀取並處理數據集
- 函數棧幀的創建與銷毀
- 構建神經網絡- 手寫字體識別案例
- 多模態生成模型ERNIE-VILG
- kotlin不容忽視的小細節
- 備戰一年,終於斬獲騰訊T3,我堅信成功是可以複制的