js中this的调用和指向
1. 全局环境下的this
在全局环境下(没有嵌套函数或对象),this指向全局对象,即window(浏览器)或global(Node.js)。
2. 函数调用下的this
当一个函数被直接调用时,this指向的是全局对象。但如果函数被作为某个对象的方法来调用,则this指向该对象。
3. 构造函数下的this
当一个函数用new关键字来构造新的对象时,this指向的就是这个新对象。
4. call/apply/bind调用下的this
call/apply/bind方法可以改变函数的上下文环境,即this的指向。通过call/apply可以显式指定函数内部的this指向哪个对象。
需要注意的是,箭头函数中的this绑定规则略有不同,它的this与其外部函数的this保持一致,而不是随着调用方式的变化而变化。
jsthis有哪几种指向
jsthis有以下七种指向:
1、给当前元素的某个事件绑定方法,当事件触发方法执行,方法中的this指向是当前元素本身;
2、方法执行,看前面有没有点“.”,有点,点前面是谁,this就是谁;没有点就是window对象;
3、构造函数执行的时候,方法体中的this就是当前构造函数类的实例;
4、自执行函数一般都是window对象;
5、定时器中this:window对象(通过call传入的window对象);
6、对象方法中this指向对象本身(受定时器影响:window);
7、箭头函数中this,沿作用域链向外找,直到有this定义(不受内部定时器影响)。
this怎么记忆最方便
要记忆“this”的最方便的方法是理解它的含义和用法。在JavaScript中,“this”是一个关键字,它指向当前正在执行的函数的上下文对象。在全局范围内,它指向全局对象(通常是window对象)。在函数内部,它可能会指向调用该函数的对象。要记住“this”的用法,可以尝试写一些代码并运行它来观察它的行为。此外,可以阅读关于“this”的文档并查看示例代码来更好地理解它的用法。最后,要记住“this”的用法,需要不断地练习和实践。
"this"是一个指代词,用于指代当前正在运行的函数或方法所属的对象。记忆"this"最方便的方法是通过理解它的含义和使用场景来记忆。
在函数内部使用"this"时,它指的是该函数所属的对象,可以用来访问该对象的属性和方法。
在事件处理程序中使用"this"时,它指的是触发该事件的元素。
在面向对象编程中,"this"常常用于引用当前对象的属性和方法。记忆"this"的关键在于理解它的用途和含义,以及熟练掌握它的使用方法。
jQuery中event.target和this的区别
this和event.target的区别:
1.js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远指向触发事件的DOM元素本身;
2.this和event.target都是dom对象,使用jQuey中的方法可以将他们转换为jquery对象:$(this)和$(event.target).假设htm是<div><span></span></div>点击span的时候改变span的颜色,使用this的话点击span因为事件冒泡机制,div也会改变颜色,但是使用event.target不会。
还没有评论,来说两句吧...