JavaScript中的函數(shù)(二)
函數(shù)是由事件驅動的或者當它被調用時執(zhí)行的可重復使用的代碼塊。
JavaScript 函數(shù)語法
函數(shù)就是包裹在花括號中的代碼塊,前面使用了關鍵詞 function:
function functionname() { 這里是要執(zhí)行的代碼 }
當調用該函數(shù)時,會執(zhí)行函數(shù)內的代碼。
可以在某事件發(fā)生時直接調用函數(shù)(比如當用戶點擊按鈕時),并且可由 JavaScript 在任何位置進行調用。
提示:JavaScript 對大小寫敏感。關鍵詞 function 必須是小寫的,并且必須以與函數(shù)名稱相同的大小寫來調用函數(shù)。
1. 函數(shù)的作用域
作用域是指變量的存在的范圍。javascript中有兩種作用域,一種是全局作用域,變量在整個程序中一直存在,另一種是函數(shù)作用域,變量只存在于函數(shù)體內部。在函數(shù)體外部聲明的變量就是全局變量,它也可以在函數(shù)體內部讀取。
var v = 1; function f(){ console.log(v); } f();
上述這就是全局變量,函數(shù)體內部也可以使用。
function f(){ var v = 1; }
而這個就是局部變量,函數(shù)體外部無法讀取。
2. 閉包
閉包就是定義在函數(shù)體內部的函數(shù)。
function f() { var c = function (){}; }
上訴代碼中c是定義在函數(shù)體f中的,c就是閉包。
閉包的特點就在于,在函數(shù)體外部可以讀取函數(shù)體內部的變量。
function f() { var v = 1; var c = function (){ return v; }; return c; } var o = f(); o(); // 1
上面的代碼顯示,原先在函數(shù)f外部,我們是沒有辦法讀取內部變量v的。但是,借助閉包c,可以讀到這個變量。
閉包不僅可以讀取函數(shù)內部變量,還可以使得內部變量記住上一次調用時的運算結果。
function f(b) { return function () { return b++; } } var b= f(5); b() // 5 b() // 6 b() // 7
函數(shù)內部的b變量,每一次調用都是在上一次調用時的值的基礎上進行計算的。
以上所述是小編給大家介紹的JavaScript中的函數(shù)(二) 的全部敘述,希望大家喜歡。
相關文章
JavaScript+CSS實現(xiàn)仿Mootools豎排彈性動畫菜單效果
這篇文章主要介紹了JavaScript+CSS實現(xiàn)仿Mootools豎排彈性動畫菜單效果,可實現(xiàn)鼠標滑過菜單項呈現(xiàn)彈性移動顯示的效果,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10JS實現(xiàn)單張或多張圖片持續(xù)無縫滾動的示例代碼
這篇文章主要介紹了JS實現(xiàn)單張或多張圖片持續(xù)無縫滾動效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05JS報錯Uncaught?TypeError:?XXX?is?not?a?function的解決方法
這篇文章主要給大家介紹了關于JS報錯Uncaught?TypeError:?XXX?is?not?a?function的解決方法,本來好好的,突然就出現(xiàn)的錯誤,不過這并不是什么難解決的錯誤,需要的朋友可以參考下2023-08-08