为了账号安全,请及时绑定邮箱和手机立即绑定

this,event,obj的区别?

  1. this 指当前对象,但是有个小疑问,this只能作用于当前部分?一旦嵌套以后不能连续用一个this而不重新定义?

  2. event我查的是与键盘和鼠标事件有关?不知道对不对?而且有时候用event有时候用e,是规定的还是随意的?

  3. obj完全不知道.....

正在回答

2 回答

这三个的区别挺大的。首先需要了解的是,javascript其实是一种面向对象的语言。对象是一种抽象的概念,你可以把对象理解成一个东西。它有各种属性,也有各种方法(一般就是函数)。英语里面管对象叫做object, 简写就是obj.

在面向对象的语言中,有各种各样的对象。比如我们可以规定一个对象。

objA = {

    name: 'Alice',

    gender: 'female',

    age: 40,

   function isOld() { 

        if(this.age>30){return true;}

        else return false;

    } 

}

那么在这个叫做objA的对象里,它有3个属性和一个方法,其实大意就是说,objA的名字叫爱丽丝,是个女的,年龄40,这个对象还能判断自己老不老。我们引用对象的属性和方法的时候,直接能用'.'. 比如 objA.name, objA.isOld(). 

this是怎么回事呢,就是说,你在对象本身的方法中引用对象本身的属性的时候,你就可以用this来代替这个对象,就像objA.isOld里面有this.age这个用法,这里this.age就是说的objA.name。但是由于是在对象内部,所以可以用this。所以使用this的时候,它具体代表什么,那要看你是在哪个对象当中使用的了。至于说,如果你是嵌套的对象,而且父对象和子对象当中又相同的变量,我认为(我没试验过),子对象中的this代表子对象,而不能代替父对象。

而event这个东西,它其实只是针对事件才有的。当浏览器有事件触发时,就会产生event这个对象,而这个对象可以通过事件处理函数当中的参数获得,比如, obj.oncllick = function(e) { }. 这里是javascript的一种机制,无论你这个处理函数当中的参数写成什么,它都会把event对象传递给那个参数,所以只要处理函数中的那个参数是合法的变量名,写成什么都可以,不过为了可读性,人们多数写成event或者e。

1 回复 有任何疑惑可以回复我~
  1. 当代码的执行环境发生了变化,this的指向就会发生改变;

  2. 事件:用户或者浏览器自身·执行的某个动作;

    事件对象:在触发DOM上的某个事件时,就会产生一个事件对象event;

    事件处理程序可以用一个变量(符合变量的命名规则就行)接收这个对象,进而做出其他操作。

你说的obj是指什么?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
DOM事件探秘
  • 参与学习       99544    人
  • 解答问题       1197    个

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

进入课程

this,event,obj的区别?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信