如何初始化命名空间内的所有方法?命名空间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]();
}
}