经常看到匿名函数里用到this. 是不是匿名函数都需要用this的?
解决方案 »
- JS中怎么将JSON字符串装换成二维数组
- innerHTML获取无法获取某个样式
- 单击<tr>的某个td 将td中的innerHTML改为<span><input onblur=""/></span> input调用不了事件
- 如何让限制的文本框能粘贴数字
- 如何把php里的变量赋值给javascript里的一个变量??
- 如何获得div id="pin_div"的屏幕坐标,top, left值,在线等!
- null被看做是“对象的占位符”,如何理解这句话?
- 如何屏蔽浏览器右上角“最小化”“最大化”“关闭”键?
- 请问如何在我的表格上单击任何一个单元格的时候,显示这个单元格的高度
- 不太明白的问题
- jquery初始化选中select option
- JS 选中text中的值(模式框) 急急
(1)白话版:this始终指向当前调用this所在函数的对象。
(2)术语版:this为函数的当前作用域。
比如
<script type="text/javascript">
var a=20;
function (){
var a=10;
this.a 指的就是20
}
</script>
<script type="text/javascript">
var a=20;
function say(){
var a=10;
this.a 指的就是20
}
</script>
他们在忽悠你呢,^_~........一句话:匿名函数里用的this===window,你“经常看到匿名函数里用到this”是在定义全局对象(变量),“匿名函数”并不“都需要用this的”。
(function(){alert(this===window)})()
2.function a{ //this} 这里this代表window对象
3. var vDiv=document.getElementById("#1");
vDiv.onmouseover=function()
{this.style.backgroundColor='red';} //此处this,代表这个div元素
4. function a(){ this.name='a'}, a.property.ToString(){ this.a} 常见几种,还有很多,望大家指点
这样其实会误导大家的,比如
第2点关于function a中的this,可能就有很多种情况:
(1)window对象,如果它在全局作用域中被调用,比如 a();不在任何函数和中时
(2)任意obj对象,比如obj.prototype.a = function a() {//这里的this是obj}
(3)function a对象自己 比如 var obj = new a;总结性的话如前面发言