Chinaunix首页 | 论坛 | 博客
  • 博客访问: 45147
  • 博文数量: 34
  • 博客积分: 831
  • 博客等级: 军士长
  • 技术积分: 310
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-08 11:15
文章分类

全部博文(34)

文章存档

2012年(34)

我的朋友

分类: 系统运维

2012-10-10 17:03:08

一、This用法

今天老师系统的讲解了一下This的用法,我感觉ThisJS中地位还是很重要的!

This使用的时候一般可以分为两种情况:

一:指向函数的所有者:1全局函数2.对象方法 3.绑定事件

二:传参的时候:1.setTimeout等传参形式的2.this事件监听器中的this

改变this的方法:call,apply

This在第一种情况下是指向其所有者的,如:function test(){alert(this)}的所有者是Window

Var o{};o.test(){alert(this)}的所有者就是o

This在第二种情况下分为两种,在setTimeout等传参形式下This一般指向的是Window,回调函数可以当作是例子。如:

funtion moveTo(callback){callback()};

Var o{};o.test(){alert(this)}

MoveTo(o.test);这是弹出的是Window,因为o.test被当成callback传入了他的所有者是Window

而在事件监听器中W3c要求this指向的是调用时间监听器的对象,如div等标签。但是Ie678  attachEvent指向的是Window

二、闭包

闭包的意义在于:大家还记得Tab切换的时候找到每个标签的方法吧,闭包有一种用法就是去找到那个标签。

闭包的形式:()();

for (var i=0; i<4; i++) {

divs[i].onclick=(function(ii){

return function(){

alert(ii);

}

})(i);

}

这段代码就相当于Tab切换里面的点击时候找到被点击的标签。

一些This的用法:

阅读(465) | 评论(0) | 转发(0) |
0

上一篇:留言板

下一篇:导航条

给主人留下些什么吧!~~