摘要:變量的作用域以及閉包變量的作用域就是你定義的變量可以使用的代碼范圍全局變量局部變量全局變量全局變量,顧名思義,就是在全局都能夠使用的變量。局部變量局部變量,只在函數(shù)執(zhí)行時生成的調用對象中存在,在函數(shù)執(zhí)行完畢時局部變量即刻銷毀。
變量的作用域以及閉包 變量的作用域
就是你定義的變量可以使用的代碼范圍
全局變量
局部變量
全局變量全局變量,顧名思義,就是在全局都能夠使用的變量。在瀏覽器解析js代碼時,會在內存中開辟出一塊空間來存儲變量,在函數(shù)需要使用時,可以直接從內存中調用。
局部變量局部變量,只在函數(shù)執(zhí)行時生成的調用對象中存在,在函數(shù)執(zhí)行完畢時局部變量即刻銷毀。因此在程序設計中我們需要考慮如何合理聲明變量,這樣既減小了不必要的內存開銷,同時能很大程度地避免變量重復定義而覆蓋先前定義的變量所造成的Debug麻煩。
舉例說明var a = 1; console.log(a); 打印得到1.
var a = 1; function example(){ console.log(a); } 打印得到1.
function example(){ var b = 2; console.log(b); } example(); 打印得到2.
function example(){ var b = 2; } console.log(b); example(); 打印報錯 b is not defined閉包
閉包就是能夠讀取其他函數(shù)內部變量的函數(shù)。由于在javascript中,只有函數(shù)內部的子函數(shù)才能讀取局部變量,所以說,閉包可以簡單理解成“定義在一個函數(shù)內部的函數(shù)。所以,在本質上,閉包是將函數(shù)內部和函數(shù)外部連接起來的橋梁。
function example (){ var b = 2; return function (){ b++; console.log(b); } } var example1 = example(); example1(); 打印得到3.
當我們在打印console.log(example1)的時候,我們會發(fā)現(xiàn)打印出來的是example內部的函數(shù)
console.log(example1); 打印得到: ? (){ b++; console.log(b); }自執(zhí)行函數(shù) 第一種格式
(function(){ })()第二種格式
(function(){ }())
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/87339.html
摘要:也就是說,普通情況下,指向調用函數(shù)時的對象。在全局執(zhí)行時,則是全局對象。故而的方法因為構造函數(shù)閉包的關系,指向了構造函數(shù)作用域內的。 日常開發(fā)中,我們經常用到this。例如用Jquery綁定事件時,this指向觸發(fā)事件的DOM元素;編寫Vue、React組件時,this指向組件本身。對于新手來說,常會用一種意會的感覺去判斷this的指向。以至于當遇到復雜的函數(shù)調用時,就分不清this的...
摘要:前言最近在學前幾天看到兩道題剛開始看懵懵懂懂這幾天通過各種查資料慢慢的理解頓悟了對匿名函數(shù)閉包立即執(zhí)行函數(shù)的理解也更深了一點在此分享給大家我的理解與總結希望能幫助大家理解因為這篇文章是我用心總結的查閱了很多的資料所以總結的比較細篇幅較長如果 前言 最近在學JS,前幾天看到兩道題,剛開始看懵懵懂懂,這幾天通過各種查資料,慢慢的理解,頓悟了,對匿名函數(shù),閉包,立即執(zhí)行函數(shù)的理解也更深了一點...
摘要:是詞法作用域工作模式。使用可以將變量綁定在所在的任意作用域中通常是內部,也就是說為其聲明的變量隱式的劫持了所在的塊級作用域。 作用域與閉包 如何用js創(chuàng)建10個button標簽,點擊每個按鈕時打印按鈕對應的序號? 看到上述問題,如果你能看出來這個問題實質上是考對作用域的理解,那么恭喜你,這篇文章你可以不用看了,說明你對作用域已經理解的很透徹了,但是如果你看不出來這是一道考作用域的題目,...
摘要:是詞法作用域工作模式。使用可以將變量綁定在所在的任意作用域中通常是內部,也就是說為其聲明的變量隱式的劫持了所在的塊級作用域。 作用域與閉包 如何用js創(chuàng)建10個button標簽,點擊每個按鈕時打印按鈕對應的序號? 看到上述問題,如果你能看出來這個問題實質上是考對作用域的理解,那么恭喜你,這篇文章你可以不用看了,說明你對作用域已經理解的很透徹了,但是如果你看不出來這是一道考作用域的題目,...
閱讀 596·2021-10-19 11:45
閱讀 1493·2021-09-30 09:48
閱讀 1515·2021-08-16 10:56
閱讀 784·2021-07-26 23:38
閱讀 3239·2019-08-30 13:15
閱讀 2630·2019-08-30 12:45
閱讀 1869·2019-08-29 12:14
閱讀 2170·2019-08-26 18:42