您好,登錄后才能下訂單哦!
這篇文章主要講解了JavaScript自定義函數的用法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
一、定義方法:在Javascript中必須用function關鍵字
function funcName(arg1,arg2...) { statements; return "變量值"; //返回值可以根據函數的需要 }
函數名是函數自身的一個引用。此種方式創立的函數引用是獨立存在的,無法刪除。
1、調用函數:函數名(參數列表)。
傳遞的參數不必與函數定義的參數個數一致,并且可以設定函數參數的默認值。
function example(a,b){ var a = arguments[0] ? arguments[0] : 1;//設置參數a的默認值為 var b = arguments[1] ? arguments[1] : 2;//設置參數b的默認值為2 return a+b; } alert(example()); //輸出3
其他方法:設置默認參數方式
2、嵌套函數:在JS中,函數的定義中還可以再次定義新的函數
function say() { function add(x,y) { return (x+y); } alert(add(2,3)); } say(); //輸出5
內嵌函數add()只能在嵌套它的函數(say())中調用,而不能再外部調用。
3、條件函數:
var b = false; if(b) { function ex1() { alert(1); } ex1(); } else { function ex2() { alert(0); } ex2(); }
輸出0,將b的值改為TRUE,則輸出1,不演示。條件函數的花括號不具有范圍限制,即可以在花括號外訪問函數。
二 、函數的特殊條用方式:網頁中的所有方法可以看做全局對象window對象的方法
function add(x,y) { return x+y; } //1 alert(window.add(2,3)); //2 alert(window['add'](2,3));
以上結果均是5
三、函數表達式定義函數:匿名函數
1、定義方式:var fucName = function(arg1,arg2,...){statements;}
var add = function (x,y) { return x+y; } alert(add(2,3));//輸出為5
其中,add是該函數的唯一引用,當add=null,該函數便不能再調用。
2、匿名自執行函數:
(function(x,y) { alert(x + y) ; })(2,3); //立即自動執行,結果為5
3、匿名函數的用途
2.1 用于一次調用后就丟棄的函數
2.2 向prototype屬性附加函數以實現對象方法的定義
四、使用Function定義函數:
在JS中,Function為核心類的一種,而其他方式定義的函數也均作為對象對待,因為在JS中的OOP中,不存在類的概念,這是JS與Java、C#等語言的區別。
var add = new Function(“函數參數”,"函數體"); add為函數名,即函數的一個引用。
var add = new Function('x','y',"return x+y"); alert(add(2,3));
上述的結果為5.
五、閉包函數:當一個函數不位于它所處環境(變量的作用范圍)被調用,仍可使用本地變量(脫離了變量的作用范圍仍可使用該變量),這是閉包函數的顯著特征。
5.1 作為值從函數返回的函數是閉包函數
function B() { var temp="abc"; function A() { alert("閉包函數處理本地變量temp = "+temp); } return A; } var a = B(); a();
運行結果:(本地變量是函數內聲明的變量)
5.2 利用變量的作用范圍形成閉包函數
var F; function B() { var temp="abc"; F=function () { alert("利用變量范圍形成閉包函數處理本地變量temp = "+temp); } } B(); F();
運行結果
看完上述內容,是不是對JavaScript自定義函數的用法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。