将函数的上下文应用于javascript变量
Applying context of functions to javascript variable?
如何将函数的上下文应用于任何javascript对象?所以我可以改变函数中"this"的含义。
例如:
var foo = {
a: function() {
alert(this.a);
},
b: function() {
this.b +=1;
alert (this.b);
}
var moo = new Something(); // some object
var moo.func.foo = foo; // right now this is moo.func
// how do I apply/change the context of the foo functions to moo?
// so this should equal moo
moo.a(); // this should work
您只需在moo
:上设置函数
var moo = new Something();
moo.a = foo.a;
moo.a();
但是,如果您希望它被Something
的所有实例继承,则需要将其设置为Something.prototype
:
var moo;
Something.prototype = foo;
moo = new Something();
moo.a();
foo.a
和foo.b
的定义中存在一些问题,因为它们都是自引用。this.b +=1
尤其会引起问题,因此您可能希望将函数更改为类似this._b +=
和alert(this._b)
的函数,或者使用不同名称的函数。
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量