摘要:函數(shù)的作用域也可被分為全局作用域和局部作用域函數(shù)作用域被定義在指定函數(shù)內(nèi)部的函數(shù)被稱為局部函數(shù)或內(nèi)部函數(shù)。局部變量在函數(shù)內(nèi)部聲明的變量被成為局部變量,它只能在函數(shù)的內(nèi)部進行訪問。
作用域 概述
變量和函數(shù)都具有作用域 作用域就是變量和函數(shù)的可被訪問的范圍 控制著變量和函數(shù)的可見性和生命周期。
變量的作用域可被分為全局作用域和局部作用域(函數(shù)作用域) 如果變量是被定義在全局作用域的話 在JavaScript代碼中的任何位置都可以訪問該變量 如果變量被定義在指定函數(shù)內(nèi)部 在JavaScript代碼中只能在該函數(shù)內(nèi)部訪問該變量。
函數(shù)的作用域也可被分為全局作用域和局部作用域(函數(shù)作用域) 被定義在指定函數(shù)內(nèi)部的函數(shù)被稱為局部函數(shù)或內(nèi)部函數(shù)。
在所有函數(shù)之外聲明的變量,叫做全局變量,因為他可被當前文檔中的其他代碼所訪問。
局部變量在函數(shù)內(nèi)部聲明的變量被成為局部變量,它只能在函數(shù)的內(nèi)部進行訪問。
聲明提前JavaScript變量的另一個特別之處是,可以小猴聲明的變量,而不會引發(fā)異常,這一概念被稱為生命提前。
示例代碼
console.log(num);// undefined var num = 100;/* 定義全局變量 */ /* 定義函數(shù) */ function fun(){ // 全局變量與局部變量同名時 - 在當前函數(shù)作用域中只能訪問局部變量 console.log(num);// undefined var num = 200;/* 定義局部變量 */ // 就近原則 console.log(num);// 200 } /* 調(diào)用函數(shù) */ fun(); // 局部變量在全局作用域中無法訪問 - 只能訪問全局變量 console.log(num);// 100按置傳遞
按置傳遞就是指將實參變量的值復(fù)制一份副本給函數(shù)的形參變量。JavaScript中為函數(shù)傳遞參數(shù)時,都是按值傳遞的。如果向函數(shù)傳遞的參數(shù)時原始類型數(shù)據(jù),則在函數(shù)中修稿參數(shù)變量的值,不會影響外部實參的變量。
示例代碼
var num = 100;/* 定義一個全局變量 */ function fun(num){ num++; console.log("函數(shù)內(nèi)部的值: " + num);// 101 } fun(num);/* 實參 */ /* 調(diào)用指定全局變量 */ console.log("全局作用域的值: " + num);// 100 101 var v = 200; function fn(){ v++; } fn(); console.log(v);// 201
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/96884.html
摘要:網(wǎng)上有很多前端的學習路徑文章,大多是知識點羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個前端框架。也可以關(guān)注微信公眾號曉舟報告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤地址在最下方,獲取教程和案例的資料。 前言 好的學習方法可以事半功倍,好的學習路徑可以指明前進方向。這篇文章不僅要寫學習路徑,還要寫學習方法,還要發(fā)資料,干貨滿滿,準備接招。 網(wǎng)上有很多前端的學習路徑文章,大多是知...
摘要:廖雪峰老師的教程學習筆記錯誤處理提供了像一樣的錯誤處理機制,即例如其中不是必須的,也不是必須的,但二者必須有其一,其中是必定會被執(zhí)行的。其中其中函數(shù)將在超時后執(zhí)行。 廖雪峰老師的javascript教程學習筆記 1. 錯誤處理 JavaScript 提供了像Java一樣的錯誤處理機制,即try catch finally.例如: try{ var s = null; s...
摘要:實參函數(shù)調(diào)用時實際傳入的參數(shù)是函數(shù)的實際參數(shù),簡稱實參。簡單來說,就是調(diào)用函數(shù)時使用的參數(shù)就是實參。函數(shù)用于執(zhí)行以字符串形式出現(xiàn)的代碼。創(chuàng)建的一個的源代碼的字符串表示。對已編碼的統(tǒng)一資源標識符進行解碼,并返回其非編碼形式。 函數(shù) 概述 函數(shù)是這樣一段JavaScript代碼,它只定義一次,但是可能被執(zhí)行或調(diào)用多次。簡單來說,函數(shù)就是一組可重復(fù)使用的代碼。 定義函數(shù) 定義函數(shù)有兩種方式...
摘要:遞歸閉包模仿塊級作用域私有變量小結(jié)在編程中,使用函數(shù)表達式可以無需對函數(shù)命名,從而實現(xiàn)動態(tài)編程。匿名函數(shù)也稱為拉姆達函數(shù)。函數(shù)聲明要求有名字,但函數(shù)表達式不需要。中的函數(shù)表達式和閉包都是極其有用的特性,利用它們可以實現(xiàn)很多功能。 1、遞歸 2、閉包 3、模仿塊級作用域 4、私有變量 5、小結(jié) 在JavaScript編程中,使用函數(shù)表達式可以無需對函數(shù)命名,從而實現(xiàn)動態(tài)編程。匿名函數(shù)也稱...
摘要:第條盡量少使用全局對象避免聲明全局變量盡量聲明局部變量避免對全局變量增加屬性第條始終聲明局部變量第條避免使用語句第條熟練使用閉包的函數(shù)值包含了比調(diào)用他們時執(zhí)行所需要的代碼還要更多的信息。那些在其所涵蓋的作用域內(nèi)跟蹤變量的函數(shù)稱為閉包。 書還沒看完。一遍看,一遍寫讀書筆記。 這本書的序是JavaScript之父Brendan Eich寫的,作者是JavaScript標準化委員會專家。可想...
閱讀 4155·2023-04-26 01:48
閱讀 3312·2021-10-13 09:40
閱讀 1768·2021-09-26 09:55
閱讀 3682·2021-08-12 13:23
閱讀 1893·2021-07-25 21:37
閱讀 3462·2019-08-30 15:53
閱讀 1426·2019-08-29 14:16
閱讀 1423·2019-08-29 12:59