摘要:定義函數(shù)與調(diào)用函數(shù)定義函數(shù)時(shí),函數(shù)體的內(nèi)容時(shí)不會(huì)被執(zhí)行。調(diào)用函數(shù)才會(huì)真正執(zhí)行這些。簡(jiǎn)單來(lái)說(shuō),就是調(diào)用函數(shù)時(shí)使用的參數(shù)就是實(shí)參。
函數(shù) 函數(shù)的概念
函數(shù)式什么?函數(shù)是一段JavaScript中的一段代碼,它只能定義一次,但是可能被執(zhí)行或調(diào)用多次。簡(jiǎn)單來(lái)說(shuō),函數(shù)就是一組可重用的代碼,可以在程序的任何地方調(diào)用他。
定義函數(shù)與調(diào)用函數(shù)定義函數(shù)時(shí),函數(shù)體的內(nèi)容時(shí)不會(huì)被執(zhí)行。
定義一個(gè)函數(shù)并不會(huì)自動(dòng)的執(zhí)行它,定義了函數(shù)僅僅是賦予函數(shù)以名稱并明確函數(shù)被調(diào)用是該做些什么。調(diào)用函數(shù)才會(huì)真正執(zhí)行這些。
1.函數(shù)聲明方式 function 函數(shù)名稱 () { 函數(shù)體 - 語(yǔ)句塊 } 定義函數(shù)時(shí) -> 函數(shù)體的內(nèi)容是不會(huì)被執(zhí)行的 function fun(){ console.log("這是一個(gè)函數(shù)"); } 2.字面量/直接量方式 var 函數(shù)名稱 = function(){ 函數(shù)體 } var fun = function(){ console.log("這是一個(gè)函數(shù)"); } 調(diào)用函數(shù) -> 函數(shù)體的內(nèi)容才被執(zhí)行 fun();函數(shù)的參數(shù)
函數(shù)的參數(shù)就相當(dāng)于在函數(shù)中使用的變量。JavaScript中的函數(shù)定義并未制定函數(shù)參數(shù)的類型,函數(shù)調(diào)用是也未對(duì)傳人的參數(shù)做任何的類型檢查。
參數(shù)有一下兩種:
1.形參:出現(xiàn)在函數(shù)定義文法中的參數(shù)列表是函數(shù)的形式參數(shù),簡(jiǎn)稱形參。簡(jiǎn)單來(lái)說(shuō)就是定義函數(shù)時(shí)使用的參數(shù)就是形參。
2.實(shí)參:函數(shù)調(diào)用是實(shí)際傳人的參數(shù)就是函數(shù)的實(shí)際參數(shù),簡(jiǎn)稱實(shí)參。簡(jiǎn)單來(lái)說(shuō),就是調(diào)用函數(shù)時(shí)使用的參數(shù)就是實(shí)參。
一般參數(shù)要注意形參與實(shí)參的個(gè)數(shù)是相同的。但是在JavaScript中并不強(qiáng)求這一點(diǎn),在特殊情況下,函數(shù)的形參和實(shí)參的個(gè)數(shù)可以不相同。
1.定義函數(shù) function 函數(shù)名稱(參數(shù)){ 函數(shù)體 } 定義函數(shù)時(shí) -> 形參 形參的定義的方式,類似于變量的(不需要任何關(guān)鍵字) 形參默認(rèn)未定義任何值時(shí) -> undefined function fun(a){// 在函數(shù)中定義一個(gè)變量,但未初始化值 console.log(a); } 2.調(diào)用函數(shù) 函數(shù)名稱(參數(shù)) 函數(shù)的調(diào)用 -> 實(shí)參(值) fun(100);// 為函數(shù)中定義的變量初始化值
1.定義函數(shù) - 形參 允許定義多個(gè)形參 - 形參之間使用逗號(hào)分隔 function fun(a){// 在函數(shù)中定義一個(gè)變量,但未初始化值 console.log(a); } 2.調(diào)用函數(shù) - 實(shí)參 允許定義多個(gè)形參 - 形參之間使用逗號(hào)分隔 fun(100, 200);// 為函數(shù)中定義的變量初始化值 形參與實(shí)參 形參的個(gè)數(shù)與實(shí)參不一定是一致的 形參的個(gè)數(shù)多于實(shí)參的個(gè)數(shù) -> 多余的形參沒(méi)有值(默認(rèn)為 undefined) 實(shí)參的個(gè)數(shù)多余形參的個(gè)數(shù) -> 多余的實(shí)參沒(méi)有對(duì)應(yīng)的形參 形參與實(shí)參根據(jù)占位符進(jìn)行一一對(duì)應(yīng)return語(yǔ)句
函數(shù)還可以包含衣蛾返回語(yǔ)句(return)。當(dāng)然這個(gè)并不是必需的,可有可無(wú)。return語(yǔ)句是函數(shù)可以作為一個(gè)值來(lái)使用。但是return語(yǔ)句的確允許編寫(xiě)在函數(shù)體的最后面,一旦return語(yǔ)句不在函數(shù)體的最后面,return語(yǔ)句之后的代碼都不會(huì)再執(zhí)行。
// var result = fun(); // console.log(result); console.log(fun());/* 打印函數(shù)調(diào)用的結(jié)果 */ console.log(fun);/* 打印變量的值 */ 函數(shù)的return語(yǔ)句 的確允許不編寫(xiě)在函數(shù)體的最后面 一旦return語(yǔ)句不在函數(shù)體的最后面 - return語(yǔ)句之后的代碼都不再執(zhí)行 function fn(){ console.log("這是return語(yǔ)句之前..."); return; console.log("這是return語(yǔ)句之后..."); } var result = fn(); console.log(result);// 100 JavaScript得到undefined值的情況: 1.定義變量,但未初始化值 2.定義變量,并初始化值為 undefined 3.訪問(wèn)數(shù)組中不存在的位置 - 默認(rèn)值為 undefined 4.在函數(shù)體調(diào)用沒(méi)有定義值的形參 - 默認(rèn)值為 undefined 5.當(dāng)函數(shù)定義時(shí),沒(méi)有指定返回值 - 默認(rèn)返回值為 undefined
預(yù)定義函數(shù)
JavaScript預(yù)定義了一組函數(shù),又唄成為全局函數(shù),允許直接使用。
eval()函數(shù)用于執(zhí)行以字符串(String)形式出現(xiàn)的JavaScript代碼。此函數(shù)可以實(shí)現(xiàn)動(dòng)態(tài)的執(zhí)行JavaScript代碼。
// 定義一個(gè)字符串 - 文本內(nèi)容是JavaScript代碼 var str = "console.log("這是一段代碼...")"; // console.log(str); eval()函數(shù) 作用 - 將一個(gè)字符串類型的JavaScript代碼轉(zhuǎn)換為真正的JavaScript代碼,并且執(zhí)行 問(wèn)題 - 安全問(wèn)題 eval(str);字符編碼與解碼
URI - 統(tǒng)一資源標(biāo)識(shí)符 URL - 統(tǒng)一資源定位符 統(tǒng)一資源標(biāo)識(shí)符的范圍大于統(tǒng)一資源定位符 var uri = "http://www.wolongxueyuan.com/Web前端開(kāi)發(fā)工程師"; var encode = encodeURI( uri ); // 輸出 http://www.wolongxueyuan.com/Web%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88 console.log( encode ); var decode = decodeURI( encode ); // 輸出 http://www.wolongxueyuan.com/Web前端開(kāi)發(fā)工程師 console.log( decode ); var uri = "http://www.wolongxueyuan.com/font-end-developer"; var encode = encodeURIComponent( uri ); // 輸出 http%3A%2F%2Fwww.wolongxueyuan.com%2Ffont-end-developer console.log( encode ); var decode = decodeURIComponent( encode ); // 輸出 http://www.wolongxueyuan.com/font-end-developer console.log( decode );
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96864.html
摘要:基礎(chǔ)語(yǔ)法區(qū)分大小寫(xiě)是一種區(qū)分大小寫(xiě)的語(yǔ)法,意味著的關(guān)鍵字變量名函數(shù)名以及其他一切的字符表示都要使用一致的大小寫(xiě)形式?;镎Z(yǔ)化物語(yǔ)空格和換行會(huì)忽略代碼中出現(xiàn)的空格換行制表符。如果不用花括號(hào)獨(dú)立獨(dú)立編寫(xiě)一個(gè)語(yǔ)句,語(yǔ)法并不報(bào)錯(cuò),但不推薦。 JavaScript基礎(chǔ)語(yǔ)法 區(qū)分大小寫(xiě) JavaScript是一種區(qū)分大小寫(xiě)的語(yǔ)法,意味著JavaScript的關(guān)鍵字、變量名、函數(shù)名以及其他一切的字符...
摘要:在定義函數(shù)的作用域外調(diào)用,得到的返回仍然是函數(shù)創(chuàng)建時(shí)所在的作用域的局部變量。這是因?yàn)樗诘哪涿瘮?shù)的閉包中存放的是第一行的,而不是在循環(huán)中獲得的的當(dāng)前值。 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Function.html 源代碼: https://github.com/RobinQu/Pr...
摘要:數(shù)組創(chuàng)建數(shù)組數(shù)組字面量使用構(gòu)造函數(shù)數(shù)組本質(zhì)上是所以要判斷是不是數(shù)組,需要通過(guò)判斷。數(shù)組長(zhǎng)度使用屬性獲取元素的個(gè)數(shù)。例如函數(shù)的對(duì)象就是這樣 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Array.html 源代碼: https://github.com/RobinQu/Programing-In-...
摘要:函數(shù)描述表示定義一段代碼,并且可重復(fù)使用函數(shù)的定義函數(shù)聲明方式字面量表達(dá)方式函數(shù)聲明方式語(yǔ)法函數(shù)名稱小括號(hào)不可省去函數(shù)體函數(shù)聲明方式在定義函數(shù)時(shí),函數(shù)體中的內(nèi)容不會(huì)被執(zhí)行啞吼吼調(diào)用函數(shù)使用函數(shù)名稱調(diào)用函數(shù)的時(shí)候會(huì)執(zhí)行函數(shù)體中的內(nèi)容字面量方 函數(shù) 描述 表示定義一段JavaScript代碼,并且可重復(fù)使用 函數(shù)的定義 函數(shù)聲明方式 字面量表達(dá)方式 函數(shù)聲明方式 語(yǔ)法 function...
摘要:函數(shù)一函數(shù)是什么只能可定義一次,但是可定義有一次或多次調(diào)用這是個(gè)函數(shù)二函數(shù)定義函數(shù)定義的函數(shù)以兩種方式表示函數(shù)聲明和字面量表達(dá)式函數(shù)聲明方式函數(shù)名稱定義函數(shù)函數(shù)體內(nèi)容不會(huì)被執(zhí)行這是個(gè)函數(shù)字面量直接量函數(shù)名稱函數(shù)體這是個(gè)函數(shù)調(diào)用函數(shù)先定義這個(gè) JS(JavaScript)函數(shù);一.函數(shù)是什么;只能可定義一次,但是可定義有一次或多次調(diào)用; var fun = function () { ...
摘要:作用域一作用域是什么就是變量和函數(shù)所被訪問(wèn)范圍,控制變量和函數(shù)的可見(jiàn)性和生命周期作用域分為全局作用域和局部作用域全局作用域是指在所有函數(shù)之外聲明的變量,因?yàn)楫?dāng)前文檔中的其他代碼可以訪問(wèn)它局部作用域是指在函數(shù)內(nèi)部聲明的變量,因?yàn)樵摵瘮?shù)只能在它 JS(JavaScript)作用域;一.作用域是什么;就是變量和函數(shù)所被訪問(wèn)范圍,控制變量和函數(shù)的可見(jiàn)性和生命周期作用域分為全局作用域和局部作用域...
閱讀 476·2021-10-09 09:57
閱讀 483·2019-08-29 18:39
閱讀 820·2019-08-29 12:27
閱讀 3036·2019-08-26 11:38
閱讀 2674·2019-08-26 11:37
閱讀 1300·2019-08-26 10:59
閱讀 1387·2019-08-26 10:58
閱讀 996·2019-08-26 10:48