您好,登錄后才能下訂單哦!
這篇文章給大家介紹JavaScript中如何定義函數,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1、 函數式聲明
function funName(arg1, arg2){ alert(arg1 + “,” + arg2); } |
特點:此種方式可定義命名的函數變量,而無需給變量賦值,這是一種獨立的結構,不能嵌套在非功能模塊中。函數名在自身作用域和父作用域內是可獲取的(其他域是娶不到的)。當解析器讀取js代碼時,會先讀取函數的聲明,此種方式定義的函數在執行任何代碼之前都可以訪問(調用)。
2、 函數表達式(函數字面量)
var fun = function(arg1, arg2){ alert(arg1 + “,” + arg2); }
|
var fun = function funName(arg1,arg2){ alert(arg1 + “,” + arg2); } |
(function hello(){ alert(“HelloWorld!!!”); })(); // 自調用 |
特點:地中方式是將函數定義為表達式語句的一部分。函數可以是命名的也可以是匿名的。而且必須等到解析器執行到它所在的代碼行才能真正被解釋執行。
3、 函數構造法,參數必須加引號
var fun = new Function(‘arg1’, ‘arg2’, ‘alert(arg1 + “,” + arg2)’); |
特點:從技術角度講,這是一個函數表達式。但是一般不推薦這種方式。
4、 對象直接量
var obj = { name : “”, getName : function(){ return this.name; }, setName : function(name){ this.name = name; } }; |
特點:將方法的定義看做為一個對象的成員變量,此時對象的變量值為一個方法,通過訪問該對象的屬性名稱,達到調用方法的效果。
5、 原型繼承
var obj = new Function(); obj.prototype = { name : “”, getName : function(){ return this.name; }, setName : function(name){ this.name = name; } }; |
特點:定義了一個函數對象,在其原型對象中定義方法。在使用prototype的方法時,必須實例化該對象才能調用其方法。
6、 工廠模式
function obj(){ var temp = new Object(); temp.name = “”; temp.getName = function(){ return this.name; }; temp.setName(name){ this.name = name; }; return temp; } |
特點:工廠模式是軟件工程領域一種廣為人知的設計模式,由于在ECMAScript中無法創建類,因此用函數封裝以特定接口創建對象。即在一個函數內創建一個對象,給對象賦予屬性和方法再將其對象返回。
關于JavaScript中如何定義函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。