如何从JavaScript的嵌套函数中加入变量
How to accede to the variable from the nested function in JavaScript?
如何加入JavaScript中嵌套函数的变量?
function Foo() { // class Foo
this.name = 'myName';
this.bar = function() { // 'bar' method
return function() { // nested method
return this.name; // how to accede to that?
}
}
}
变量bellow是最优的吗?
this.bar = function() { // 'bar' method
var innerName = this.name; // duplicated variable :-/
return function() { // nested method
return innerName;
}
}
更常见的方法是保持对整个外部对象的引用:
function Foo() { // class Foo
var _self = this;
this.name = 'myName';
this.bar = function() { // 'bar' method
return function() { // nested method
return _self.name;
}
}
}
像这样:
function Foo() { // class Foo
var that = this;
this.name = 'myName';
this.bar = function() { // 'bar' method
return function() { // nested method
return that.name; // how to accede to that?
}
}
}
如果你在支持ES6的环境中,你也可以使用箭头函数:
function Foo() {
this.name = 'myName';
this.bar = () = > () => this.name;
}
相关文章:
- 带有两个变量函数的Ajax提交表单
- 设置变量函数不起作用
- 为什么使用 ||在变量函数声明中
- Javascript 变量函数不保留值
- 为什么要在函数定义之外引用静态变量(函数属性)
- jQuery 变量函数无法运行
- 循环中的变量函数定义
- javascript onclick设置为变量函数名
- JavaScript:调用已启动类(数据包处理程序)的变量函数
- Javascript测试存根全局变量函数
- Aptana能否识别其他文件中定义的变量/函数
- jquery将其传递给变量函数
- 传递一个变量函数到数组[Javascript]
- 如何使用' this '像一个对象,并通过字符串获得它的变量/函数
- javascript变量/函数的首字母是什么意思?
- Javascript .apply带有变量函数名
- 在JavaScript中添加一个全局变量/函数(特别是NativeScript)
- 变量函数未定义错误
- AngularJS-继续检查变量/函数
- Javascript从本地向全局变量函数添加行