javascript - js如何优雅的将多个方法添加到window对象上
伊谢尔伦
伊谢尔伦 2017-04-11 12:45:14
[JavaScript讨论组]

如题,因为不得已的原因,需要写若干个全局函数。但又不想这样:
window.a = function(){}
window.b = function(){}
window.c = function(){}
有什么好的写法?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(3)
伊谢尔伦

如果你用 jQuery,你可以这样写

$.extend(window, {
    a: function() {},
    b: function() {},
    c: function() {}
});

如果你不用 jQuery,可以直接实现类似的 extend,

(() => {
    var defining = {
        a: function() { },
        b: function() { },
        c: function() { }
    };

    Object.keys(defining).forEach(key => {
        window[key] = defining[key];
    });
})();
阿神

只输出一个对象到全局变量,把所有的函数都作为它的方法。

window.__my_secret_methods_that_only_i_can_use__ = {
    a:function(){},
    b:function(){},
    c:function(){}
};

需要调用的时候

__my_secret_methods_that_only_i_can_use__.a();
__my_secret_methods_that_only_i_can_use__.b();
__my_secret_methods_that_only_i_can_use__.c();
高洛峰
(function(){
    function All(){
    }
    All.prototype={
        a:function(){

        },
        b:function(){

        },
        c:function(){

        }
    };
    window.func=new All();
})(window)

func.a();
func.b();
func.c();

有很多方式,看你想要什么效果,达到什么目的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号