摘要:函數(shù)描述表示定義一段代碼,并且可重復(fù)使用函數(shù)的定義函數(shù)聲明方式字面量表達(dá)方式函數(shù)聲明方式語法函數(shù)名稱小括號不可省去函數(shù)體函數(shù)聲明方式在定義函數(shù)時,函數(shù)體中的內(nèi)容不會被執(zhí)行啞吼吼調(diào)用函數(shù)使用函數(shù)名稱調(diào)用函數(shù)的時候會執(zhí)行函數(shù)體中的內(nèi)容字面量方
函數(shù) 描述
表示定義一段JavaScript代碼,并且可重復(fù)使用
函數(shù)的定義函數(shù)聲明方式
字面量表達(dá)方式
函數(shù)聲明方式 語法function 函數(shù)名稱( )"小括號不可省去" { 函數(shù)體 }
/* 函數(shù)聲明方式 */ function fun() { /* 在定義函數(shù)時,函數(shù)體中的內(nèi)容不會被執(zhí)行 */ console.log( "啞吼吼" ); } /* 調(diào)用函數(shù) - 使用函數(shù)名稱 * 調(diào)用函數(shù)的時候會執(zhí)行函數(shù)體中的內(nèi)容 */ fun();字面量方式 語法
var 函數(shù)名 = function( )"小括號不可省去" { 函數(shù)體 }
/* 字面量方式 */ var fn = function() { /* 在定義函數(shù)時,函數(shù)體中的內(nèi)容不會被執(zhí)行 */ console.log( "吼啞啞" ); } /* 調(diào)用函數(shù) - 使用函數(shù)名稱 * 調(diào)用函數(shù)的時候會執(zhí)行函數(shù)體中的內(nèi)容 */ fn();函數(shù)的參數(shù) 描述
表示定義函數(shù)時在函數(shù)名稱中使用的定義( 小括號中的 )
參數(shù)只能在函數(shù)中使用
參數(shù)分為形參 - 定義函數(shù)時使用的參數(shù)
實參 - 調(diào)用函數(shù)時使用的參數(shù)
/* 定義函數(shù) - 形參 */ function fun( a, b ){ /* 在參數(shù)中: 形參與實參個數(shù)相對應(yīng) * 形參的個數(shù)多于實參個數(shù)時,沒有對應(yīng)實參的形參會顯示 undefined * 實參的個數(shù)多于形參個數(shù)時,沒有對應(yīng)形參的實參會沒有顯示 */ console.log( a, b );// 顯示效果:a=1,b=2 } /* 調(diào)用函數(shù) - 實參 */ fun( 1, 2 );return語句
表示函數(shù)在調(diào)用結(jié)束后具有一個返回值
return語句并不是必要的
return語句一般會被編寫在函數(shù)體的最后面
如果不在函數(shù)體的最后面,return語句之后的代碼將不會被執(zhí)行
return語句帶有值會顯示值,如果沒有值會顯示 undefined
function fun(){ console.log( "啊哈哈" ); return 100; } /* 調(diào)用函數(shù) */ fun();// 顯示 啊哈哈 /* 將函數(shù)的返回值 賦值到變量中 */ var funs = fun(); /* 顯示返回值 */ console.log( funs );// 顯示 100 /* return語句不在函數(shù)體最后 */ function fn(){ console.log( "啊哈哈" ); return; console.log( "呀吼吼吼" ); } fn();// 顯示 啊哈哈 var fns = fn(); console.log( fns );// 顯示 undefined作用域
變量和函數(shù)都具有作用域,用于顯示可被顯示訪問的區(qū)域
作用域分為(變量和函數(shù)一樣):全局作用域和局部作用域(函數(shù)作用域)
全局作用域:表示在函數(shù)之外的所有區(qū)域
局部作用域(函數(shù)作用域):表示在函數(shù)之內(nèi)的區(qū)域
全局變量和局部變量 全局變量是指在全局作用域中定義的變量
該變量可以同時作用在全局作用域和局部作用域(函數(shù)作用域)
局部變量是指在函數(shù)內(nèi)的變量
局部變量只能作用在當(dāng)前函數(shù)中
/* 作用在全局作用域 */ var num = 100; console.log( num ); /* 同時作用在局部作用域 */ function fun() { console.log( num ); } fun(); /* 定義全局變量 */ var num1 = 100; function fn() { console.log( num1 ); /* 定義局部變量 - 只能作用于當(dāng)前函數(shù) */ var num2 = 100; console.log( num2 ); } fn(); /* 在全局作用域調(diào)用局部變量會報錯 */ console.log( num2 );// 顯示 num2 is not define函數(shù)和內(nèi)部函數(shù) 函數(shù)(全局函數(shù))
是指在全局作用域中定義的函數(shù)
該函數(shù)可以同時作用在全局作用域和局部作用域(函數(shù)作用域)
內(nèi)部函數(shù)(私有函數(shù))是指在函數(shù)內(nèi)的函數(shù)
內(nèi)部函數(shù)只能作用在當(dāng)前函數(shù)中
/* 定義全局函數(shù) */ function fun(){ console.log( "啊哈哈" ); /* 定義內(nèi)部函數(shù) */ function fu(){ console.log( "呀吼吼" ); } fu(); } /* 全局作用域 */ fun(); /* 在全局作用域調(diào)用內(nèi)部函數(shù)會報錯 */ fu();// 顯示 fu is not defined /* 定義另一個全局函數(shù) */ function fn(){ /* 函數(shù)中可以調(diào)用全局函數(shù) */ fun(); /* 無法調(diào)用另一個函數(shù)的內(nèi)部函數(shù) - 會報錯 */ fu();// 顯示 fu is not defined } fn();聲明提前
表示在使用變量時,先調(diào)用變量,在對變量進(jìn)行定義
語法不會報錯,會顯示 undefined
/* 先調(diào)用未定義的變量,在隨后定義,語法不會報錯,會顯示 undefined */ console.log( s );//顯示結(jié)果:undefined var s ;//調(diào)用后定義 /* 重新定義并賦值 */ var s = 100; /* 顯示效果 */ console.log( s );// 100按值傳遞
是指將函數(shù)實參的變量值賦值給函數(shù)形參,使實參和輸出結(jié)果一樣
在對局部變量進(jìn)行修改時,不會修改全局變量
/* 全局變量 */ var s = 100; function f ( s ) { s++;// 修改局部變量 return s;// 返回數(shù)值 } /* 定義變量顯示返回值 */ var ss = f( s ); /* 顯示函數(shù)輸出效果 */ console.log( ss );// 101 /* 顯示全局變量 */ console.log( s );// 100
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/96889.html
摘要:作用域一作用域是什么就是變量和函數(shù)所被訪問范圍,控制變量和函數(shù)的可見性和生命周期作用域分為全局作用域和局部作用域全局作用域是指在所有函數(shù)之外聲明的變量,因為當(dāng)前文檔中的其他代碼可以訪問它局部作用域是指在函數(shù)內(nèi)部聲明的變量,因為該函數(shù)只能在它 JS(JavaScript)作用域;一.作用域是什么;就是變量和函數(shù)所被訪問范圍,控制變量和函數(shù)的可見性和生命周期作用域分為全局作用域和局部作用域...
摘要:對象數(shù)組初始化表達(dá)式,闖關(guān)記之上文檔對象模型是針對和文檔的一個。闖關(guān)記之?dāng)?shù)組數(shù)組是值的有序集合。數(shù)組是動態(tài)的,根闖關(guān)記之語法的語法大量借鑒了及其他類語言如和的語法。 《JavaScript 闖關(guān)記》之 DOM(下) Element 類型 除了 Document 類型之外,Element 類型就要算是 Web 編程中最常用的類型了。Element 類型用于表現(xiàn) XML 或 HTML 元素...
摘要:操作符或調(diào)用函數(shù)時傳入?yún)?shù)的操作都會導(dǎo)致關(guān)聯(lián)作用域的賦值操作。此外可以使用和來設(shè)置對象及其屬性的不可變性級別。忽視這一點會導(dǎo)致許多問題。使用調(diào)用函數(shù)時會把新對象的屬性關(guān)聯(lián)到其他對象。 前言 《你不知道的 javascript》是一個前端學(xué)習(xí)必讀的系列,讓不求甚解的JavaScript開發(fā)者迎難而上,深入語言內(nèi)部,弄清楚JavaScript每一個零部件的用途。本書介紹了該系列的兩個主題:...
摘要:引子前不久我建立的技術(shù)群里一位問了一個這樣的問題,她貼出的代碼如下所示執(zhí)行結(jié)果如下所示第一個第二個這是一個令人詫異的結(jié)果,為什么第一個彈出框顯示的是,而不是呢這種疑惑的原理我描述如下一個頁面里直接定義在標(biāo)簽下的變量是全局變量即屬于對象的變量 1) 引子 前不久我建立的技術(shù)群里一位MM問了一個這樣的問題,她貼出的代碼如下所示: var a = 1; function hehe...
閱讀 3071·2021-11-16 11:45
閱讀 3606·2021-09-29 09:34
閱讀 715·2021-08-16 10:50
閱讀 1584·2019-08-30 15:52
閱讀 1975·2019-08-30 15:45
閱讀 871·2019-08-29 15:23
閱讀 1938·2019-08-26 13:51
閱讀 3311·2019-08-26 12:23