访问javascript对象中更高的命名空间
如何在没有硬编码的情况下从更高级别的名称空间调用方法?请参阅我想在另一个较低名称空间中调用较高级别名称空间的方法的注释。JavaScript没有名称空间。您正在使用对象列表,这很好,但无法访问父对象。您可以像这样使用闭包,尽管它有点冗长:访问javascript对象中更高的命名空间,javascript,object,Javascript,Object,如何在没有硬编码的情况下从更高级别的名称空间调用方法?请参阅我想在另一个较低名称空间中调用较高级别名称空间的方法的注释。JavaScript没有名称空间。您正在使用对象列表,这很好,但无法访问父对象。您可以像这样使用闭包,尽管它有点冗长: var Higher = { hello: function(){ console.log('Hello from Higher'); } Lower: { hi: function(){ //how to c
var Higher = {
hello: function(){
console.log('Hello from Higher');
}
Lower: {
hi: function(){
//how to call the 'hello()' method from the Higher namespace?
//without hardcoding it, as 'Higher.hello()'
console.log('Hi from Lower');
}
}
}
var Higher = new (function(){
this.hello = function(){
console.log('Hello from higher');
}
this.Lower = new (function(higher){
this.higher = higher;
this.hi = function(){
this.higher.hello();
console.log('Hi from lower');
}
return this;
})(this);
return this;
})();
Higher.hello();
Higher.Lower.hi();