javascript的构造函数和实例对象、prototype和__proto__的区别,原型对象及构造器的理解

一、前言

  我们先通过代码来分别打印出实例对象、构造函数,以及修改了原型对象的构造函数,通过对比内部结构来看看他们之间的区别。

复制代码
//定义构造函数
function Person(name, age){
    this.name = name; 
    this.age = age;
    this.play = function(){
          console.log('玩好玩的')
    }
}
//实例化对象,并初始化赋值
var per = new Person('kitty', '3');

//打印实例对象
console.dir(per);
//打印构造函数
console.dir(Person)
复制代码

 

我们创建的每一个函数都会有一个原型(prototype)属性,这个属性是一个指针,指向函数的原型(prototype)对象。使用原型对象可以让构造函数的实例对象共享原型对象包含的属性和方法,而不会像工厂模式或者构造函数模式那样,方法本应该是可以是通用的,可是每一个创建的对象实例都要各自复制一份

posted @   南歌子  阅读(726)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示