Ⅰ javascript中的this到底指什么
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>
Ⅱ js中this代表什么意思
代表当前对象啊,js不是有document.getElementByID通过ID获取对象么,this就是获取当前对象,比如id为btn的按钮内的onclick方法 onclick="method(容this)",这个this就是当前按钮对象,作用和document.getElementByID("btn")一样。
Ⅲ 关于js的with和this ,function的一段代码,求解释
<!DOCTYPEHTML>
<html>
<head>
<title>yugi</title>
<metacharset=UTF-8/>
<styletype="text/css">
</style>
<scripttype="text/javascript"src="jquery-1.8.0.min.js"></script>
<scripttype="text/javascript">
(function()
{
with(this[2])
{
with(this[1])
{
with(this[0])
{
returnfunction(event)
{
//意思是调用this[2].this[1].this[0].checkChoice();
//使用with语句,代表{}内部属于with()中的对象的属性或者方法
//但是使用with语句,不易于修改和维护。此话源自js权威指南。
returncheckChoice()
};
}
}
}
})();
</script>
</head>
<body>
</body>
</html>
Ⅳ javascript 的 this 指向问题
js 中的this分两种情况,普通函数中的 this 指向取决于调用的环境,lambda表达式中的this指向window。
apply 方法的的说明如下:
Function.apply(obj,args)方法能接收两个参数
obj:这个对象将代替Function类里this对象
args:这个是数组,它将作为参数传给Function(args-->arguments)
题主这个Programmer如果当成构造方法使用,this 应指向new的对象
Ⅳ javascript中,一个js中的函数,第一句var _this = this;为什么要这样做 下面是源码:
问题一:
不知道楼主有没有接触过jquery jquery里边有一个特别典型的例子能说内明用_this的作用
$("#btn").click(function(){
var _this = this;//这里容this和_this都代表了"#btn"这个对象
$(".tr").each(function(){
this;//在这里this代表的是每个遍历到的".tr"对象
_this;//仍代表"#btn"对象
})
})
这种情况就是在一个代码片段里this有可能代表不同的对象,而编码者希望_this代表最初的对象
问题2:
其实并没有全部使用_this
但是据我所看,应该没有任何区别的,楼主的代码里用_this可能只是为了编码规范吧