什么是访问"这个"的最佳方式。在javascript类的子对象里面?

时间:2014-10-21 10:46:18

标签: javascript oop

这不起作用,因为未定义的f.bar.bar()。

var myFunction = function(foo){
    this.foo = foo;
    this.bar = {        
        bar: function(){                
            return this.foo;
        }
   }    
}
var f = new myFunction('foo');
alert(f.bar.bar());

1 个答案:

答案 0 :(得分:2)

您始终可以在父作用域中声明变量:

var myFunction = function(foo){
    var func = this;
    this.foo = foo;
    this.bar = {        
        bar: function(){                
            return func.foo;
        }
   }    
}
var f = new myFunction('foo');
alert(f.bar.bar());