重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
成都创新互联公司主要从事网站设计、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务历下,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220这篇文章主要介绍JavaScript中this是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
记得初学 JavaScript 时,其中 this 的指向问题曾让我头疼不已,我还曾私自将其与闭包、原型(原型链)并称 JS 武林中的三大魔头。如果你要想在 JS 武林中称霸一方,必须将这三大魔头击倒。个人认为在这三大魔头中,this 指向问题的武功最菜(难度最低)。俗话说柿子捡软的捏,那我们就先从 this 指向问题下手。
先记住攻克 this 指向问题的口诀(前辈们的总结):哪个对象调用函数,函数里的 this 就默认指向哪个对象(注意 this 只能指向对象)。这里说“默认指向”是因为我们通过箭头函数、call、apply、bind等手段来改变 this 的指向。现在我们只讨论 this 的默认指向。
全局作用域下以及全局作用域的函数中,this默认指向全局对象window
在严格模式下,全局作用域的函数中,this默认指向 undefined, 这是严格模式所规定的。
// 非严格模式下 console.log(this); // Window function doSomething(){ console.log(this); // Window } doSomething(); // 这里可以看成window.doSomething(),所以函数里的this指向全局对象window // 严格模式下 'use strict'; console.log(this); // Window function doInStrict(){ console.log(this); // undefined } doInStrict();