欢迎光临散文网 会员登陆 & 注册

千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

2023-07-21 09:40 作者:天音Lilya  | 我要投稿

关于this指向的一切:

在JavaScript中,this是一个特殊的关键字,它在函数执行时确定其指向的对象。它的值在每次函数被调用时可能会不同,取决于调用函数的方式。以下是关于this指向的一切:

全局环境中的this:

在全局环境中(没有嵌套在其他函数内部),this通常指向全局对象,比如浏览器环境中的window对象或Node.js环境中的global对象。在严格模式下,全局环境中的this将是undefined。

函数调用中的this:

当函数被作为普通函数调用时,this通常指向全局对象。在严格模式下,函数调用中的this会是undefined,这是为了避免意外的全局变量修改。

方法调用中的this:

当函数作为对象的方法调用时,this指向调用该方法的对象。

构造函数中的this:

当使用new关键字调用构造函数创建一个新对象时,this会指向新创建的对象实例。

箭头函数中的this:

箭头函数没有自己的this绑定机制,它会捕获所在上下文的this值,因此在箭头函数中,this的指向与外部作用域保持一致。

改变this指向

call()、apply()和bind():

call()、apply()和bind()是函数对象的方法,用于显式地设置函数执行时的this指向。

call()方法接受一个指定的this值和逗号分隔的参数列表,其中this指向传递的第一个参数。

函数会立即执行

apply()方法与call()类似,但它接受一个指定的this值和参数数组,其中this指向传递的第一个参数。

bind()方法不会立即调用函数,而是创建一个绑定了指定this值的新函数,稍后可以再次调用该新函数。

箭头函数的this值无法改变因为他没有自己的this指向

千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip的评论 (共 条)

分享到微博请遵守国家法律