站長資訊網
        最全最豐富的資訊網站

        JS中定義函數的幾種方法

        JS中定義函數的幾種方法

        你知道在 JavaScript 中創建一個函數有多少種方式嗎?下面本篇文章給大家介紹一下在 JavaScript 中定義函數的幾種不同方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

        1. 聲明函數

        function sum(a, b) { return a + b; }

        2. 表達式函數

        // 可以命名: (function sum(a, b) { return a + b; });  // 也可匿名 (AVOID): (function(a, b) { return a + b; });  // 也能分配給變量: const sum = function sum(a, b) { return a + b; })

        3. 箭頭函數

        // 一般形式: (a, b) => { return a + b };  // 單參數,一行返回: name => name.split(' ')  // 多參數,一行返回: (a, b) => a + b  // 單參數,帶函數體 name => { return name.split(' '); }

        4. 生成器函數

        function *sum(a, b) { yield a + b; }

        5. 異步函數

        async function sum(a, b) { return await a + b; }

        6. 構造函數(AVOID)

        new Function(‘a’, ‘b’, ‘return a + b;’);

        7. 導出函數

        // 默認導出 export default function(a, b) { return a + b; };  // 命名導出 export function sum(a, b) { return a + b; };

        8. 對象屬性函數

        // 一般形式: const object = {   sum: function(a, b) { return a + b; }, };  // 簡寫: const object = {   sum(a, b) { return a + b; }, };

        9. 對象動態屬性函數

        const functionName = "sum"; const object = {   [functionName]: function(a, b) { return a + b; }, };

        10. 對象屬性的 Getter/Setter 函數

        // 一般形式: const object = {   get answer { return 42; },   set answer(value) { /* 一些操作value的代碼 */ }, };  // ?使用 defineProperty const obj = {}; Object.defineProperty(obj, "answer", {   get() { return 42; },   set(value) { /* 一些操作value的代碼 */ }, });

        11. 對象動態屬性的 Getter/Setter 函數

        const functionName = "answer"; const object = {   get [functionName]() { return 42; },   set [functionName](value) { /* 一些操作value的代碼 */ }, };

        12. 類方法函數

        class Compute {   // 一般形式:   sum(a, b) { return a + b; } }  class Compute {   // 靜態:   static sum(a, b) { return a + b; }; }

        13. 類屬性函數

        class Compute {   // 一般形式:   sum = function (a, b) { return a + b; }; }class Compute {   // 靜態:   static sum = function(a, b) { return a + b; }; }

        14. 類私有函數

        class Compute {   // 一般形式:   #sum(a, b) {     return a + b;   }  // 靜態:   static #sum(a, b) {     return a + b;   } }

        總結

        如果你把這些方式中的某幾個結合起來,還會有

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产午夜福利精品久久2021| 久久免费精品一区二区| 国产办公室秘书无码精品99| 国产精品无码DVD在线观看| 久久精品一本到99热免费| 精品人妻少妇一区二区三区| 精品国产一区二区三区久久 | 国产精品无码成人午夜电影 | 欧美精品人爱a欧美精品| 亚洲国产成人久久精品影视| 精品无码人妻一区二区三区| 亚洲线精品一区二区三区| 久久亚洲国产精品五月天婷| 国产精品国产三级在线高清观看| 国产精品麻豆高清在线观看| 国产亚洲精品自在久久| 久久亚洲欧美国产精品| 最新国产成人精品2024| 精品无码人妻久久久久久| 国产福利电影一区二区三区,亚洲国模精品一区 | 欧美一区二区精品系列在线观看| 国产精品污WWW在线观看| 久久精品国产亚洲AV嫖农村妇女 | 亚洲日韩一页精品发布| 日韩一区二区精品观看| 精品人妻伦一二三区久久 | 国产亚洲精品a在线观看| 2021国产成人精品久久| 欧美一卡2卡3卡四卡海外精品| 精品国产综合成人亚洲区| 国产精品美女久久久| 国产成人精品视频播放| 国产成人精品日本亚洲专一区 | heyzo高无码国产精品| 国产日韩精品欧美一区| 久久精品亚洲中文字幕无码麻豆| 日韩精品区一区二区三VR| 精品无码av一区二区三区| 2021最新国产精品网站| 精品国产日产一区二区三区| 91久久精品视频|