摘要:定義函數(shù)與調(diào)用函數(shù)定義函數(shù)時,函數(shù)體的內(nèi)容時不會被執(zhí)行。調(diào)用函數(shù)才會真正執(zhí)行這些。簡單來說,就是調(diào)用函數(shù)時使用的參數(shù)就是實參。
函數(shù) 函數(shù)的概念
函數(shù)式什么?函數(shù)是一段JavaScript中的一段代碼,它只能定義一次,但是可能被執(zhí)行或調(diào)用多次。簡單來說,函數(shù)就是一組可重用的代碼,可以在程序的任何地方調(diào)用他。
定義函數(shù)與調(diào)用函數(shù)定義函數(shù)時,函數(shù)體的內(nèi)容時不會被執(zhí)行。
定義一個函數(shù)并不會自動的執(zhí)行它,定義了函數(shù)僅僅是賦予函數(shù)以名稱并明確函數(shù)被調(diào)用是該做些什么。調(diào)用函數(shù)才會真正執(zhí)行這些。
1.函數(shù)聲明方式 function 函數(shù)名稱 () { 函數(shù)體 - 語句塊 } 定義函數(shù)時 -> 函數(shù)體的內(nèi)容是不會被執(zhí)行的 function fun(){ console.log("這是一個函數(shù)"); } 2.字面量/直接量方式 var 函數(shù)名稱 = function(){ 函數(shù)體 } var fun = function(){ console.log("這是一個函數(shù)"); } 調(diào)用函數(shù) -> 函數(shù)體的內(nèi)容才被執(zhí)行 fun();函數(shù)的參數(shù)
函數(shù)的參數(shù)就相當于在函數(shù)中使用的變量。JavaScript中的函數(shù)定義并未制定函數(shù)參數(shù)的類型,函數(shù)調(diào)用是也未對傳人的參數(shù)做任何的類型檢查。
參數(shù)有一下兩種:
1.形參:出現(xiàn)在函數(shù)定義文法中的參數(shù)列表是函數(shù)的形式參數(shù),簡稱形參。簡單來說就是定義函數(shù)時使用的參數(shù)就是形參。
2.實參:函數(shù)調(diào)用是實際傳人的參數(shù)就是函數(shù)的實際參數(shù),簡稱實參。簡單來說,就是調(diào)用函數(shù)時使用的參數(shù)就是實參。
一般參數(shù)要注意形參與實參的個數(shù)是相同的。但是在JavaScript中并不強求這一點,在特殊情況下,函數(shù)的形參和實參的個數(shù)可以不相同。
1.定義函數(shù) function 函數(shù)名稱(參數(shù)){ 函數(shù)體 } 定義函數(shù)時 -> 形參 形參的定義的方式,類似于變量的(不需要任何關鍵字) 形參默認未定義任何值時 -> undefined function fun(a){// 在函數(shù)中定義一個變量,但未初始化值 console.log(a); } 2.調(diào)用函數(shù) 函數(shù)名稱(參數(shù)) 函數(shù)的調(diào)用 -> 實參(值) fun(100);// 為函數(shù)中定義的變量初始化值
1.定義函數(shù) - 形參 允許定義多個形參 - 形參之間使用逗號分隔 function fun(a){// 在函數(shù)中定義一個變量,但未初始化值 console.log(a); } 2.調(diào)用函數(shù) - 實參 允許定義多個形參 - 形參之間使用逗號分隔 fun(100, 200);// 為函數(shù)中定義的變量初始化值 形參與實參 形參的個數(shù)與實參不一定是一致的 形參的個數(shù)多于實參的個數(shù) -> 多余的形參沒有值(默認為 undefined) 實參的個數(shù)多余形參的個數(shù) -> 多余的實參沒有對應的形參 形參與實參根據(jù)占位符進行一一對應return語句
函數(shù)還可以包含衣蛾返回語句(return)。當然這個并不是必需的,可有可無。return語句是函數(shù)可以作為一個值來使用。但是return語句的確允許編寫在函數(shù)體的最后面,一旦return語句不在函數(shù)體的最后面,return語句之后的代碼都不會再執(zhí)行。
// var result = fun(); // console.log(result); console.log(fun());/* 打印函數(shù)調(diào)用的結(jié)果 */ console.log(fun);/* 打印變量的值 */ 函數(shù)的return語句 的確允許不編寫在函數(shù)體的最后面 一旦return語句不在函數(shù)體的最后面 - return語句之后的代碼都不再執(zhí)行 function fn(){ console.log("這是return語句之前..."); return; console.log("這是return語句之后..."); } var result = fn(); console.log(result);// 100 JavaScript得到undefined值的情況: 1.定義變量,但未初始化值 2.定義變量,并初始化值為 undefined 3.訪問數(shù)組中不存在的位置 - 默認值為 undefined 4.在函數(shù)體調(diào)用沒有定義值的形參 - 默認值為 undefined 5.當函數(shù)定義時,沒有指定返回值 - 默認返回值為 undefined
預定義函數(shù)
JavaScript預定義了一組函數(shù),又唄成為全局函數(shù),允許直接使用。
eval()函數(shù)用于執(zhí)行以字符串(String)形式出現(xiàn)的JavaScript代碼。此函數(shù)可以實現(xiàn)動態(tài)的執(zhí)行JavaScript代碼。
// 定義一個字符串 - 文本內(nèi)容是JavaScript代碼 var str = "console.log("這是一段代碼...")"; // console.log(str); eval()函數(shù) 作用 - 將一個字符串類型的JavaScript代碼轉(zhuǎn)換為真正的JavaScript代碼,并且執(zhí)行 問題 - 安全問題 eval(str);字符編碼與解碼
URI - 統(tǒng)一資源標識符 URL - 統(tǒng)一資源定位符 統(tǒng)一資源標識符的范圍大于統(tǒng)一資源定位符 var uri = "http://www.wolongxueyuan.com/Web前端開發(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前端開發(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 );
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/96864.html
摘要:基礎語法區(qū)分大小寫是一種區(qū)分大小寫的語法,意味著的關鍵字變量名函數(shù)名以及其他一切的字符表示都要使用一致的大小寫形式。化物語化物語空格和換行會忽略代碼中出現(xiàn)的空格換行制表符。如果不用花括號獨立獨立編寫一個語句,語法并不報錯,但不推薦。 JavaScript基礎語法 區(qū)分大小寫 JavaScript是一種區(qū)分大小寫的語法,意味著JavaScript的關鍵字、變量名、函數(shù)名以及其他一切的字符...
摘要:在定義函數(shù)的作用域外調(diào)用,得到的返回仍然是函數(shù)創(chuàng)建時所在的作用域的局部變量。這是因為所在的匿名函數(shù)的閉包中存放的是第一行的,而不是在循環(huán)中獲得的的當前值。 原文: 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ù)組,需要通過判斷。數(shù)組長度使用屬性獲取元素的個數(shù)。例如函數(shù)的對象就是這樣 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Array.html 源代碼: https://github.com/RobinQu/Programing-In-...
摘要:函數(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ù)是什么只能可定義一次,但是可定義有一次或多次調(diào)用這是個函數(shù)二函數(shù)定義函數(shù)定義的函數(shù)以兩種方式表示函數(shù)聲明和字面量表達式函數(shù)聲明方式函數(shù)名稱定義函數(shù)函數(shù)體內(nèi)容不會被執(zhí)行這是個函數(shù)字面量直接量函數(shù)名稱函數(shù)體這是個函數(shù)調(diào)用函數(shù)先定義這個 JS(JavaScript)函數(shù);一.函數(shù)是什么;只能可定義一次,但是可定義有一次或多次調(diào)用; var fun = function () { ...
摘要:作用域一作用域是什么就是變量和函數(shù)所被訪問范圍,控制變量和函數(shù)的可見性和生命周期作用域分為全局作用域和局部作用域全局作用域是指在所有函數(shù)之外聲明的變量,因為當前文檔中的其他代碼可以訪問它局部作用域是指在函數(shù)內(nèi)部聲明的變量,因為該函數(shù)只能在它 JS(JavaScript)作用域;一.作用域是什么;就是變量和函數(shù)所被訪問范圍,控制變量和函數(shù)的可見性和生命周期作用域分為全局作用域和局部作用域...
閱讀 525·2021-10-09 09:57
閱讀 545·2019-08-29 18:39
閱讀 878·2019-08-29 12:27
閱讀 3083·2019-08-26 11:38
閱讀 2737·2019-08-26 11:37
閱讀 1343·2019-08-26 10:59
閱讀 1433·2019-08-26 10:58
閱讀 1036·2019-08-26 10:48