摘要:作用域一作用域是什么就是變量和函數(shù)所被訪問范圍,控制變量和函數(shù)的可見性和生命周期作用域分為全局作用域和局部作用域全局作用域是指在所有函數(shù)之外聲明的變量,因為當前文檔中的其他代碼可以訪問它局部作用域是指在函數(shù)內(nèi)部聲明的變量,因為該函數(shù)只能在它
JS(JavaScript)
作用域;
一.作用域是什么;
就是變量和函數(shù)所被訪問范圍,控制變量和函數(shù)的可見性和生命周期
作用域分為全局作用域和局部作用域
全局作用域;是指在所有函數(shù)之外聲明的變量,因為當前文檔中的其他代碼可以訪問它
局部作用域;是指在函數(shù)內(nèi)部聲明的變量,因為該函數(shù)只能在它內(nèi)部訪問
二.變量的作用域;
1.全局變量和局部變量;
全局變量;是指在所有函數(shù)之外聲明的變量,因為當前文檔中的其他代碼可以訪問它
局部變量;是指在函數(shù)內(nèi)部聲明的變量,因為該函數(shù)只能在它內(nèi)部訪問
/* 全局作用域(函數(shù)作用域之外的范圍) - 全局變量 * 全局變量的作用域 - 全局作用域 + 函數(shù)作用域 */ var v1 = 100; console.log(v1); function fun(){ /* 函數(shù)作用域 - 局部變量 * 局部變量的作用域 - 當前函數(shù)作用域 */ var v2 = 200; console.log(v1); console.log(v2); } console.log(v1); fun(); // 全局作用域不能訪問局部變量 // console.log(v2); function fn(){ console.log(v2); } fn();
2.聲明提前;
先調(diào)用變量而結(jié)果不會出錯同時變量會返回(undefinen)值
console.log(v);// undefined var v = 100; console.log(v);// 100 // 當全局變量與局部變量同名時 - 在函數(shù)作用域中只能訪問局部變量 function fn(){ console.log(v);// undefined var v = 200; console.log(v);// 200 } fn(); console.log(v);// 100
3.按值傳遞;
是值實參變量的值同樣的值給函數(shù)的形參變量,表示相同的變量
var q = 100;/* 全局變量 */ function fn(q){ // 參數(shù)與局部變量的用法類似 - 只能作用于當前函數(shù)的內(nèi)部 q++; return q; } var result = fn(q); console.log(result);// 101 console.logq);// 100
三.函數(shù)的作用域;
全局函數(shù)和內(nèi)部函數(shù);
全局函數(shù);被定義在任何位置都可以訪問和調(diào)用函數(shù)
局部函數(shù);將一個函數(shù)定義在另一個函數(shù)之內(nèi),只可在函數(shù)的內(nèi)部訪問,而不能訪問全局作用域中訪問
function fn(){ console.log("this is fn"); /* 函數(shù)作用域 - 內(nèi)部/私有函數(shù) */ function n(){ console.log("this is n"); } n(); } /* 全局作用域 */ fn(); // n();// n is not defined function fun(){ /* 另一個函數(shù)作用域 */ fn(); n();// n is not defined } fun();
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/97103.html
摘要:函數(shù)描述表示定義一段代碼,并且可重復使用函數(shù)的定義函數(shù)聲明方式字面量表達方式函數(shù)聲明方式語法函數(shù)名稱小括號不可省去函數(shù)體函數(shù)聲明方式在定義函數(shù)時,函數(shù)體中的內(nèi)容不會被執(zhí)行啞吼吼調(diào)用函數(shù)使用函數(shù)名稱調(diào)用函數(shù)的時候會執(zhí)行函數(shù)體中的內(nèi)容字面量方 函數(shù) 描述 表示定義一段JavaScript代碼,并且可重復使用 函數(shù)的定義 函數(shù)聲明方式 字面量表達方式 函數(shù)聲明方式 語法 function...
摘要:對象數(shù)組初始化表達式,闖關記之上文檔對象模型是針對和文檔的一個。闖關記之數(shù)組數(shù)組是值的有序集合。數(shù)組是動態(tài)的,根闖關記之語法的語法大量借鑒了及其他類語言如和的語法。 《JavaScript 闖關記》之 DOM(下) Element 類型 除了 Document 類型之外,Element 類型就要算是 Web 編程中最常用的類型了。Element 類型用于表現(xiàn) XML 或 HTML 元素...
摘要:操作符或調(diào)用函數(shù)時傳入?yún)?shù)的操作都會導致關聯(lián)作用域的賦值操作。此外可以使用和來設置對象及其屬性的不可變性級別。忽視這一點會導致許多問題。使用調(diào)用函數(shù)時會把新對象的屬性關聯(lián)到其他對象。 前言 《你不知道的 javascript》是一個前端學習必讀的系列,讓不求甚解的JavaScript開發(fā)者迎難而上,深入語言內(nèi)部,弄清楚JavaScript每一個零部件的用途。本書介紹了該系列的兩個主題:...
摘要:引子前不久我建立的技術(shù)群里一位問了一個這樣的問題,她貼出的代碼如下所示執(zhí)行結(jié)果如下所示第一個第二個這是一個令人詫異的結(jié)果,為什么第一個彈出框顯示的是,而不是呢這種疑惑的原理我描述如下一個頁面里直接定義在標簽下的變量是全局變量即屬于對象的變量 1) 引子 前不久我建立的技術(shù)群里一位MM問了一個這樣的問題,她貼出的代碼如下所示: var a = 1; function hehe...
閱讀 3416·2023-04-26 00:58
閱讀 1320·2021-09-22 16:04
閱讀 3413·2021-09-02 15:11
閱讀 1629·2019-08-30 15:55
閱讀 2412·2019-08-30 15:55
閱讀 3491·2019-08-23 18:41
閱讀 3531·2019-08-23 18:18
閱讀 2805·2019-08-23 17:53