JavaScript中this指向的问题...

查看:88
本文介绍了JavaScript中this指向的问题...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1.RT,JS中this指向的问题,让我困扰了很久,也很混乱。我知道

a.全局函数的this指向的是全局;
b.对象内的方法是指向这个对象的;
c.但是闭包里的函数this指向的不是外层函数,而是全局,据说这是语言设计上的缺陷;

可是还有个构造函数,构造函数不使用new来调用的话,里面的this也是指向全局的...,使用new来调用则this指向的是new出来的实例,这些我都了解了些...,那么问题来了,构造函数的原型上的方法里面的this是指向谁的?!

按照我的理解,构造函数的原型也是一个对象,上面的方法应该算作对象的方法,其中的this肯定是指向该对象的,也就是指向构造函数的原型?但是我自己简单试了一下,怎么好像指向的还是new出来的实例对象呢?!

求个明白!THX

解决方案

谢邀。

this 是 Javascript 语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。
在绝大多数情况下,函数的调用方式决定了 this 的值,this不能在执行期间被赋值。 随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是 this 指向总是调用函数的那个对象。

下文绝大部分都是来自this - JavaScript | MDN,只做了点微小的工作,谢谢大家。

看我博客吧
http://www.anchengjian.com/#/...

这篇关于JavaScript中this指向的问题...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆