如何初始化命名空间内的所有方法?命名空间javascript初始化所有方法

如何初始化命名空间内的所有方法?命名空间javascript初始化所有方法,javascript,jquery,function,namespaces,initialization,Javascript,Jquery,Function,Namespaces,Initialization,也许这是一个简单的问题,但我在谷歌或这个网站上找不到任何东西。 所以如果我有 var myNamespace = { foo: function() { }, bar: function() { } }; 我如何加载foo()和bar(),而不必逐个加载,例如 <script type="text/javascript"> $(document).ready(function(){ myNamespace.foo();

也许这是一个简单的问题,但我在谷歌或这个网站上找不到任何东西。 所以如果我有

var myNamespace = {

    foo: function() {
    },

    bar: function() {
    }
};
我如何加载foo()和bar(),而不必逐个加载,例如

<script type="text/javascript">
    $(document).ready(function(){
        myNamespace.foo();
        myNamespace.bar();
        .
        .
        .
    });
</script>

$(文档).ready(函数(){
myNamespace.foo();
myNamespace.bar();
.
.
.
});

我还没有测试过这个,但是类似的东西应该会被证明是有用的。 JavaScript中的每个函数都有一个调用它的
call()
方法。然后:


$(document).ready(function() {
  $.each(myNamespace, function(index, obj) {
    if (typeof(obj) == 'function')
    {
       obj.call(myNamespace);
    }
  });
});

如果需要替换
this
范围引用,可以使用
jQuery.proxy

对其进行修补,我没有测试过,但类似的东西应该会很有用。
for (var k in namespace) {
    if (typeof namespace[k] === 'function') {
        namespace[k]();    
    }
}
JavaScript中的每个函数都有一个调用它的
call()
方法。然后:


$(document).ready(function() {
  $.each(myNamespace, function(index, obj) {
    if (typeof(obj) == 'function')
    {
       obj.call(myNamespace);
    }
  });
});

如果需要替换
this
范围引用,可以使用
jQuery.proxy

对其进行修补。我认为,如果命名空间中的某些内容不是函数,则此操作将失败。1<代码>“函数”应该是
“函数”
。2.您需要为
调用
方法提供上下文
名称空间
。1<代码>“函数”
应该是
“函数”
。2.您需要为
调用
方法提供上下文
命名空间
。我认为使用保留字
函数
作为变量名是个坏主意。我认为使用保留字
函数
作为变量名是个坏主意。
for (var k in namespace) {
    if (typeof namespace[k] === 'function') {
        namespace[k]();    
    }
}