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