我是靠谱客的博主 健忘板栗,最近开发中收集的这篇文章主要介绍原型对象中this的指向,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在JS中this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁。
但在大部分函数中this的最终指向的都是那个调用它的对象。

原型对象的this指向:

<script>
function Fn(){
this.name = "张三";
}
var a = new Fn();
console.log(a.name);
</script>
  • 在这里之所以对象a可以点出函数Fn里面的name是因为new关键字可以改变this的指向,将这个this指向对象a,为什么我说a是对象,因为用了new关键字就是创建一个对象实例。
  • 我们这里用变量a创建了一个Fn的实例(相当于复制了一份Fn到对象a里面),此时仅仅只是创建,并没有执行,而调用这个函数Fn的是对象a,那么this指向的自然是对象a,那么为什么对象a中会有name,因为你已经复制了一份Fn函数到对象a中,用了new关键字就等同于复制了一份。

总结分析:

 <script>
function Person(name, age) {
this.name = name;
this.age = age;
}
var that;
Person.prototype.sing = function() {
console.log('');
that = this;
}
var p1 = new Person('张三', );
// 1. 在构造函数中,里面this指向的是对象实例 p1
p1.sing();
console.log(that === p1);
// 2.原型对象函数里面的this 指向的是 实例对象 p1
</script>

由此可知:

  • 在构造函数中里面的this 指向我们实例对象.
  • 原型对象里面放的是方法, 这个方法里面的this 指向的是 这个方法的调用者, 也就是这个实例对象.

最后

以上就是健忘板栗为你收集整理的原型对象中this的指向的全部内容,希望文章能够帮你解决原型对象中this的指向所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部