揭开原型的面纱

本文深入探讨JavaScript中的原型概念,包括对象的__proto__属性和构造函数的prototype。通过实例解析new关键字的执行过程,阐述如何在内存中创建对象、设置this指向以及构造函数的执行。了解这些基础知识对于理解JavaScript的原型链至关重要。
摘要由CSDN通过智能技术生成

一.原型

1.1定义

任何对象都有一个原型对象,这个原型对象由对象的内置属性__proto__指向它的构造函数的prototyoe指向的对象,即任何对象都是由一个构造函数创建的,被创建的对象都可以获得构造函数的prototype属性,这个构造函数就是原型。

   var str = new String("a");
    console.log("str", str);

在这里插入图片描述
好奇的宝宝有么有发现这个小箭头,是不是想动手点击一下呢?
在这里插入图片描述
这个小箭头还可以继续点哦,注意好奇心可能会害了我们 嘻嘻
在这里插入图片描述
是不是很吓人…
在这里插入图片描述

  console.log(String.prototype === str.__proto__);//true

在这里插入图片描述

1.2 new关键字执行过程

  • new构造函数可以在内存中创建了一个空的对象

  • this就会指向刚才创建的空对象

  • 执行构造函数里面的代码,给这个空对象添加属性和方法。

  • 返回这个对象。(所以不需要return)

在这里插入图片描述
在这里插入图片描述

1.3名词解释

在这里插入图片描述
原型就到此了,后期还有原型链~它是基于原型的,所以原型要一定一定一定要掌握清楚。重要事情说三遍

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值