更新时间:2021-12-03 09:22:37 来源:极悦 浏览2099次
this 指向并不是在函数定义的时候确定的,而是在调用的时候确定的。换句话说,函数的调用方式(直接调用、方法调用、new调用、bind、call、apply、箭头函数)决定了 this 指向。
函数内部的 this 指向全局对象,在浏览器中全局对象是 window,在 NodeJs 中全局对象是 global。直接调用并不是指在全局作用域下进行调用,在任何作用域下,直接通过 函数名(...) 来对函数进行调用的方式,都称为直接调用。
函数中的 this 指向调用该方法的对象。通过对象来调用其方法函数,它是 对象.方法函数(...) 这样的调用形式。
在 es5 中,用 new 调用一个构造函数,会创建一个新对象,而其中的 this 就指向这个新对象。
箭头函数没有自己的 this 绑定,箭头函数中使用的 this,其实是直接包含它的那个函数或函数表达式中的 this。
function person(name){
var _newObj = {
constructor:person,
_proto_:person.prototype
}
_newObj.constructor(name)
// _newObj.constructor.call(_newObj,name)
return _newObj
})()
如果您想了解更多相关知识,不妨来关注一下极悦的Vue.js视频教程,视频内容由浅到深,通俗易懂,适合没有基础的小伙伴学习,相信对大家会有所帮助的。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习