js怎么可以访问外围对象的this方法
js怎样可以访问外围对象的this方法
例如对象中某个button对象,
button.onclick = function() {
//这里想要调用外围对象的某个方法
//此时this指代的是button对象,而不是外围对象。这里不能使用this.方法名
}
我现在知道的是,可以将外围对象赋值给一个临时变量,然后通过临时变量.方法名来调用,不知道是否有更直接的方法,不需要使用临时变量就能调用了。
------解决方案--------------------
我要打某个人的电话
打电话(某人--》电话号)
我怎么知道某人的电话号?
1)我就是知道 他的电话就在我的小本子上写着(好比一个局部变量 var phone=xxxx)
2)我当然知道 他是名人 他的电话资料直接公开 所有人都知道(好比一个全局变量 window.某人.phone)
3)我不知道 但是我朋友知道(好比 utils.getPhone())
4)我不知道 我没记录他的电话 他的资料没有公开 我认识的人也没他的电话
能不能访问 好像 也只有这样了
------解决方案--------------------
button.onclick = $.proxy(function() {
//这里可以直接用this访问外围对象
}, this);
------解决方案--------------------
------解决方案--------------------
答的好。
这样不行吗?
button.onclick = function() {
//这里想要调用外围对象的某个方法
//此时this指代的是button对象,而不是外围对象。这里不能使用this.方法名
}
(function (me) {
me.方法//这个指的就是外面的this吧?
})(this);
例如对象中某个button对象,
button.onclick = function() {
//这里想要调用外围对象的某个方法
//此时this指代的是button对象,而不是外围对象。这里不能使用this.方法名
}
我现在知道的是,可以将外围对象赋值给一个临时变量,然后通过临时变量.方法名来调用,不知道是否有更直接的方法,不需要使用临时变量就能调用了。
------解决方案--------------------
我要打某个人的电话
打电话(某人--》电话号)
我怎么知道某人的电话号?
1)我就是知道 他的电话就在我的小本子上写着(好比一个局部变量 var phone=xxxx)
2)我当然知道 他是名人 他的电话资料直接公开 所有人都知道(好比一个全局变量 window.某人.phone)
3)我不知道 但是我朋友知道(好比 utils.getPhone())
4)我不知道 我没记录他的电话 他的资料没有公开 我认识的人也没他的电话
能不能访问 好像 也只有这样了
------解决方案--------------------
button.onclick = $.proxy(function() {
//这里可以直接用this访问外围对象
}, this);
------解决方案--------------------
if(Function.prototype.bind){
Function.prototype.bind = function(context){
if(arguments.length<2&&context==void 0){
return this;
}
var _method=this,args=[].slice.call(arguments,1);
return function(){
return _method.apply(context,args.concat.apply(args,arguments));
}
}
}
button.onclick = function(){
//this === "外围变量";
}.bind("外围变量");
------解决方案--------------------
答的好。
这样不行吗?
button.onclick = function() {
//这里想要调用外围对象的某个方法
//此时this指代的是button对象,而不是外围对象。这里不能使用this.方法名
}
(function (me) {
me.方法//这个指的就是外面的this吧?
})(this);