码迷,mamicode.com
首页 > 其他好文 > 详细

this的指向的一些问题

时间:2019-11-12 17:23:11      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:his   关键字   对象   调用函数   方法   一个   就是   bind   词法   

  • apply方法:调用函数,同时指定函数中的this指向,参数以数组传递
  • call方法:调用函数,同时指定函数中的this指向,参数以列表传递
  • bind方法:得到一个新函数,该函数中的this始终指向指定的值,永久性绑定。
    (以上三种方法(任何方法)都改变不了箭头函数中的this指向)

    this无法赋值

  1. 在全局作用域中,this关键字固定指向全局对象。在浏览器中,window对象即是全局对象
  2. 在函数作用域中,取决于函数是如何被调用的
    1. 函数直接调用,this指向全局对象
    2. 通过一个对象的属性调用,格式为对象.属性()对象["属性"](),this指向对象

1). 直接调用函数,this指向全局对象
2). 在函数外,this指向全局对象
3). 通过对象调用或new一个函数,this指向调用的对象或新对象

箭头函数引入的其中一个原因,就是其不绑定this;在箭头函数中,箭头函数的this被设置为封闭的词法环境的,换句话说,箭头函数中的this取决于该函数被创建时的环境(上下文中的this)
箭头函数没有自己的this值,箭头函数中所使用的this来自于函数作用域链。

this的指向的一些问题

标签:his   关键字   对象   调用函数   方法   一个   就是   bind   词法   

原文地址:https://www.cnblogs.com/panghu123/p/11768593.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!