JavaScript基本概念B - 关于方法

  • 方法也是对象
    这个事需要反复强调。方法是 类型 Function 的对象,和其他对象一样,它也有方法。
function gen() {
    return function ans(factor) {
        return 2 * factor;
    };
}

如果看着混乱,可以使用变量看看

function gen() {
    var f = function ans(factor) {
        return 2 * factor;
    };
    return f;
}

或者这样

function gen() {
    function ans(factor) {
        return 2 * factor;
    };
    return ans;
}
  • 方法的命名方式
    试想你定义下面一个方法
function f(factor) {
    return 2 * factor;
}

和下面这个是一样的

var f = function (factor) {
    return 2 * factor;
};

f(2);
  • 方式不支持多态
    你不能定义两个名字一样的方法,寄希望使用不同参数来区分。后面定义的方法会覆盖前面的方法。
function ans(f1, f2) { ... }

function ans(f1) { ... } // 这个会替代前面的方法.

需要注意的是所有的参数都不是必须的

function ans(a, b) {
    //...
}
ans(2); //ans 被调用时 a = 2, and b = undefined
  • 函数返回
    在方法定义中你可以返回任意值或不返回
function () {
    if (cond1) {
        // 返回一个对象t
        return {
            a: 10
        };
    } else if (cond2) {
        // 返回 undefined
        return;
    } else if (cond3) {
        // 返回一个数字.
        return 1;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容