5个回答
展开全部
JavaScript:this是什么?
定义:this是包含它的函数作为方法被调用时所属的对象。
说明:这句话有点咬嘴,但一个多余的字也没有,定义非常准确,我们可以分3部分来理解它!
1、包含它的函数。2、作为方法被调用时。3、所属的对象。
看例子:
function to_green(){
this.style.color="green";
}
to_green();
上面函数中的this指的是谁?
分析:包含this的函数是,to_green
该函数作为方法被调用了
该函数所属的对象是。。?我们知道默认情况下,都是window对象。
OK,this就是指的window对象了,to_green中执行语句也就变为,window.style.color="green"
这让window很上火,因为它并没有style这么个属性,所以该语句也就没什么作用。
我们在改一下。
window.load=function(){
var example=document.getElementById("example");
example.onclick=to_green;
}
这时this又是什么呢?
我们知道通过赋值操作,example对象的onclick得到to_green的方法,那么包含this的函数就是onclick喽,
那么this就是example引用的html对象喽。
this的环境可以随着函数被赋值给不同的对象而改变!
下面是完整的例子:
<script type="text/javascript">
function to_green(){
this.style.color="green";
}
function init_page(){
var example=document.getElementById("example");
example.onclick=to_green;
}
window.onload=init_page;
</script>
<a href="#" id="example">点击变绿</a>
定义:this是包含它的函数作为方法被调用时所属的对象。
说明:这句话有点咬嘴,但一个多余的字也没有,定义非常准确,我们可以分3部分来理解它!
1、包含它的函数。2、作为方法被调用时。3、所属的对象。
看例子:
function to_green(){
this.style.color="green";
}
to_green();
上面函数中的this指的是谁?
分析:包含this的函数是,to_green
该函数作为方法被调用了
该函数所属的对象是。。?我们知道默认情况下,都是window对象。
OK,this就是指的window对象了,to_green中执行语句也就变为,window.style.color="green"
这让window很上火,因为它并没有style这么个属性,所以该语句也就没什么作用。
我们在改一下。
window.load=function(){
var example=document.getElementById("example");
example.onclick=to_green;
}
这时this又是什么呢?
我们知道通过赋值操作,example对象的onclick得到to_green的方法,那么包含this的函数就是onclick喽,
那么this就是example引用的html对象喽。
this的环境可以随着函数被赋值给不同的对象而改变!
下面是完整的例子:
<script type="text/javascript">
function to_green(){
this.style.color="green";
}
function init_page(){
var example=document.getElementById("example");
example.onclick=to_green;
}
window.onload=init_page;
</script>
<a href="#" id="example">点击变绿</a>
参考资料: http://hi.baidu.com/tkocn/blog/item/7c66bd02f7395b084afb5150.html
展开全部
javascript在web开发中的无处不在,未来的web程序必然拥有大量的js代码支持。javascript这门语言有点残废,“混乱”的this应用让人头痛,我常常搞错。整理一些js中this的使用方法。关键字this总是指向调用该方法的对象.
1.表示对触发事件的DOM对象的引用
<div onclick="可以在里面使用this">division element</div>
onclick="function(this){}";onclick="function(){this..}"
脚本引擎生成了一个div实例对象的匿名成员方法,而onclick指向这个方法
2.在函数内使用this,表示引用当前window对象
<script language="javascript">
function a(){this..}
</script>
对于IE浏览器可以用this.event.srcElement来获取对当前DOM对象的引用,FF不行。这种方法如果在使用函数的时候new了一下,那么this将会表示函数a,而不是window对象.var b=new a(); var b=a();两者会产生不一样的结果,很神奇的this
3、用DHTML方式在事件处理函数中使用this关键字:
<script language="javascript">
var div = document.getElementById('elmtDiv');
div.onclick = function()
{
// 在此使用this
};
</script>
这里的this关键字指示的内容是div元素对象实例,在脚本中使用DHTML方式直接为div.onclick赋值一个EventHandler的方法,等于为div对象实例添加一个成员方法。这种方式和第一种方法的区别是,第一种方法是使用HTML方式,而这里是DHTML方式,后者脚本解析引擎不会再生成匿名方法。Jquery中的 $('div').click(function(){$(this)..});$(this)也就是这种用法。
4.类定义中使用this
function JSClass()
{
var myName = 'jsclass';
this.m_Name = 'JSClass';
}
JSClass.prototype.ToString = function()
{
alert(myName + ', ' + this.m_Name);
};
var jc = new JSClass();
jc.ToString();
这时this表示m_Name是JSClass的成员变量,var myName只能算是“构造函数”内的一个变量,外部肯定无法引用。
5.函数中的内部函数中使用this
function OuterFoo()
{
this.Name = 'Outer Name';
function InnerFoo()
{
var Name = 'Inner Name';
alert(Name + ', ' + this.Name);
}
return InnerFoo;
}
OuterFoo()();
OuterFoo()里面的this.Name表示window.Name,InnerFoo()里面的this.Name也表示window.Name
还有几个空间介绍的不错
我也只是转下
javascript中有好多东西定义的都比较混乱
1.表示对触发事件的DOM对象的引用
<div onclick="可以在里面使用this">division element</div>
onclick="function(this){}";onclick="function(){this..}"
脚本引擎生成了一个div实例对象的匿名成员方法,而onclick指向这个方法
2.在函数内使用this,表示引用当前window对象
<script language="javascript">
function a(){this..}
</script>
对于IE浏览器可以用this.event.srcElement来获取对当前DOM对象的引用,FF不行。这种方法如果在使用函数的时候new了一下,那么this将会表示函数a,而不是window对象.var b=new a(); var b=a();两者会产生不一样的结果,很神奇的this
3、用DHTML方式在事件处理函数中使用this关键字:
<script language="javascript">
var div = document.getElementById('elmtDiv');
div.onclick = function()
{
// 在此使用this
};
</script>
这里的this关键字指示的内容是div元素对象实例,在脚本中使用DHTML方式直接为div.onclick赋值一个EventHandler的方法,等于为div对象实例添加一个成员方法。这种方式和第一种方法的区别是,第一种方法是使用HTML方式,而这里是DHTML方式,后者脚本解析引擎不会再生成匿名方法。Jquery中的 $('div').click(function(){$(this)..});$(this)也就是这种用法。
4.类定义中使用this
function JSClass()
{
var myName = 'jsclass';
this.m_Name = 'JSClass';
}
JSClass.prototype.ToString = function()
{
alert(myName + ', ' + this.m_Name);
};
var jc = new JSClass();
jc.ToString();
这时this表示m_Name是JSClass的成员变量,var myName只能算是“构造函数”内的一个变量,外部肯定无法引用。
5.函数中的内部函数中使用this
function OuterFoo()
{
this.Name = 'Outer Name';
function InnerFoo()
{
var Name = 'Inner Name';
alert(Name + ', ' + this.Name);
}
return InnerFoo;
}
OuterFoo()();
OuterFoo()里面的this.Name表示window.Name,InnerFoo()里面的this.Name也表示window.Name
还有几个空间介绍的不错
我也只是转下
javascript中有好多东西定义的都比较混乱
参考资料: http://hi.baidu.com/bdui/blog/item/4373ac07397c72ce7b894786.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this指针是面向对象程序设计中的一项重要概念,它表示当前运行的对象。在实现对象的方法时,可以使用this指针来获得该对象自身的引用。
和传统意义的面向对象的语言不同,JavaScript 中的 this 指针是一个动态的变量,一个方法内的this指针并不是始终指向定义该方法的对象的.
推荐一本书给你,这本书里对this指针有很详细的解说。
《JS资料-征服Ajax - Web20开发技术详解试读版.pdf》
和传统意义的面向对象的语言不同,JavaScript 中的 this 指针是一个动态的变量,一个方法内的this指针并不是始终指向定义该方法的对象的.
推荐一本书给你,这本书里对this指针有很详细的解说。
《JS资料-征服Ajax - Web20开发技术详解试读版.pdf》
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-06-27 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
this是一个语言中的关键字,它就是一个对象。
thispage的意思是这个页面。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
thispage的意思是这个页面。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this代表当前对象 比如你点击Button,this就代表了Button这个按钮.
Button有很多属性如 Button.caption 也可以写成this.caption
Button有很多属性如 Button.caption 也可以写成this.caption
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询