《JavaScript设计模式》——1.10 可以链式添加吗

    xiaoxiao2024-01-03  155

    本节书摘来自异步社区《JavaScript设计模式》一书中的第1章,第1.10节,作者:张容铭著,更多章节内容可以访问云栖社区“异步社区”公众号查看

    1.10 可以链式添加吗

    “呀,这种方式很奇特呀。不过我想链式添加方法,是不是在addMethod中将this返回就可以呀,这么做可以么?”

    Function.prototype.addMethod = function(name, fn){   this[name] = fn;   return this; }

    “当然,所以你再想添加方法就可以这样了:”

    var methods = function(){}; methods.addMethod('checkName', function(){   // 验证姓名 }).addMethod('checkEmail', function(){   // 验证邮箱 });

    “那么,小白,我问你,我如果想链式使用你知道该如何做么?”

    小白想了想说:“既然添加方法的时候可以将this返回实现,那么添加的每个方法将this返回是不是可以实现呢?”

    于是小白这么写下:

    var methods = function(){}; methods.addMethod('checkName', function(){   // 验证姓名   return this; }).addMethod('checkEmail', function(){   // 验证邮箱   return this; });

    然后测试一下:

    methods.checkName().checkEmail();“真的可以呀!”小白兴奋地说。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)