this用法的问题 function a(f){ f()}function b(){ this.c = "c" var o = this; a(function(){ alert(o.c) })}b()这是我一般的方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般的做法和lz一样var _this = this;然后传递_this其实这题根本不需要这么做从头到尾this都是同一个值,它指向那个全局对象see: function a(f){ f()}function b(){ this.c = "c" var o = this; a(function(){ alert(o.c) })}b();alert(c);//同样显示 "c" this,是内部值, 可以配合new 使用function ma(a,b){this.a=a;this.b=b;this.s=a+b;this.p=a*b;}var v1=new ma(1,2);alert(v1.a);alert(v1.b);alert(v1.c);alert(v1.d);类式用法.this.sum=function(a,b,c){ ...}.... function a(f,o){ f.call(o)}//沒有必要寫一個call的調用函數吧?call已經很簡單就可以調用了!function b(){ this.c = "c" a(function(){ alert(this.c) }, this)}b()你完全可以這樣:function b(){ this.c = "c"; (function(){alert(this.c)}).call(this);}b(); 再看了下你的題意,是不是這樣?<script type="text/javascript">function a(){ alert(this.c);}function b(){ this.c = "c" this.a = a; this.a();}b();</script> 那这样还不如写到prototype中呢但a因为是公用函数而且已经在用的所以不能破环a()这样执行的结构不然就原来的都要改了(可以看到我那个o没有的话也能正常执行)可以说那个f跟a是没有什么关系的只是传递过去在在程序中执行而已其实2楼那个也符合要求的了只是想有没有更好(看)的方法 this不传的话,默认指向上一级域,所以function a(f){ f()}function b(){ this.c = "c" a(function(){alert(this.c)})}b()也是可以的吧,当然也是不严谨的。 function a(f,o){ f.call(o)}function b(){ var c = "c" a(function(){ alert(c) }, b)}b()不用this,这样也行啊 cloud好久不见,单位不能上qq郁闷阿,只能看你的贴子了 js中对象赋值的问题 DOM中对象的一些属性 分离Json key 和 Value 正则表达式 如何写? 求助!firefox上的问题? 大家来讨论一下,这种效果不错,点击产品图片,出现一个弹出窗口,有人知道这种效果是怎么做的吗 在线等急 关于函数执行问题[内详] 有谁知道Msagent的中文TTS引擎? 请问如何阻止用另存为将网页保存在本机上 清帮我看看这小段代码,不复杂,多谢 请问form能不能这么做 [分享]JavaScript获取元素在浏览器画布中的绝对位置 js修改iframe的高度
其实这题根本不需要这么做
从头到尾this都是同一个值,它指向那个全局对象see: function a(f){
f()
}function b(){
this.c = "c"
var o = this;
a(function(){ alert(o.c) })
}b();alert(c);//同样显示 "c"
是内部值, 可以配合new 使用
function ma(a,b)
{
this.a=a;
this.b=b;
this.s=a+b;
this.p=a*b;
}var v1=new ma(1,2);
alert(v1.a);
alert(v1.b);
alert(v1.c);
alert(v1.d);类式用法.this.sum=function(a,b,c){ ...}....
f.call(o)
}//沒有必要寫一個call的調用函數吧?call已經很簡單就可以調用了!function b(){
this.c = "c"
a(function(){ alert(this.c) }, this)
}b()你完全可以這樣:function b(){
this.c = "c";
(function(){alert(this.c)}).call(this);
}b();
function a(){
alert(this.c);
}function b(){
this.c = "c"
this.a = a;
this.a();
}b();
</script>
而且已经在用的
所以不能破环a()这样执行的结构
不然就原来的都要改了(可以看到我那个o没有的话也能正常执行)可以说那个f跟a是没有什么关系的只是传递过去在在程序中执行而已
其实2楼那个也符合要求的了
只是想有没有更好(看)的方法
function a(f){
f()
}function b(){
this.c = "c"
a(function(){alert(this.c)})
}b()
也是可以的吧,当然也是不严谨的。
f.call(o)
}function b(){
var c = "c"
a(function(){ alert(c) }, b)
}b()
不用this,这样也行啊