当前位置: 首页 > news >正文

企业网站的网络营销功能wordpress 发视频

企业网站的网络营销功能,wordpress 发视频,黄骅市天气预报,wordpress主题调用插件看山是山,看山不是山,看山又是山。 目录代码内存分布(抽象图)分析步骤类 PersonPerson.prototype实例 p1方法查找栈和堆存什么?代码打印验证总结:代码 class Person {constructor(name, age) {this.name …

看山是山,看山不是山,看山又是山。

目录

  • 代码
  • 内存分布(抽象图)
  • 分析步骤
    • 类 Person
    • Person.prototype
    • 实例 p1
    • 方法查找
  • 栈和堆存什么?
    • 代码打印验证
  • 总结:

代码

class Person {constructor(name, age) {this.name = namethis.age = age}speak() {console.log(`我叫${this.name},今年${this.age}`)}
}const p1 = new Person("张三", 22)

内存分布(抽象图)

【栈内存】                           【堆内存】
───────────────────────────── ───────────────────────────────
变量名    → 引用地址               实际对象内容Person ───────┐                 Function 对象(类构造函数){│                   prototype: { constructor: f, speak: f }}[0x001] ──────────────────────────────┐│
p1 ──────────┐                                 ││                                 ▼▼                       { name: "张三", age: 22 }[0x002] --------------------→   __proto__ → Person.prototype

分析步骤

类 Person

  • 本质是一个 构造函数对象存在栈内存中,有引用指向堆内存的函数体)。
  • 在内存中会自动生成一个 Person.prototype 对象,里面存放方法(如 speak)。

Person.prototype

  • 存在于堆内存中。
  • 存放实例共享的方法(speak)和一个默认的 constructor 属性(指回 Person)。

实例 p1

  • 存在于堆内存中【实例的引用在栈,实例的实际数据在堆】,里面存放的是 独有的属性:{ name: “张三”, age: 22 }。
  • 它的 proto(隐藏属性,标准叫 [[Prototype]])指向 Person.prototype。

方法查找

  • 当执行 p1.speak() 时:
    • 先在 p1 自己身上查找 speak → 找不到
    • 顺着 proto 去 Person.prototype 找 → 找到并执行

栈和堆存什么?

  • 栈:存放基本类型值、引用地址、执行上下文等。
  • 堆:存放对象的实际内容(包括实例、原型对象、函数对象)。

代码打印验证

console.log(typeof Person) // "function" → 说明类本质是构造函数
console.log(Person.prototype) // { constructor: f, speak: f }
console.log(p1.__proto__ === Person.prototype) // true
console.log(p1.constructor === Person) // true

总结:

  • 类本质是函数(存在栈内存里),它有一个自动生成的 prototype 对象(存在堆内存里)。
  • 实例存在堆内存,存放独有属性;共享方法放在原型对象上。
  • 实例通过 proto 链接到类的 prototype,形成 原型链。
http://www.dtcms.com/a/466103.html

相关文章:

  • 创作纪念日
  • 直接找高校研究生做网站行吗公众号开发单位
  • 怎么看网站开发语言是哪种律所网站建设建议
  • Docker:公有仓库和私有仓库的搭建
  • 有专门做牙膏的网站吗网站footer设计
  • 零基础从头教学Linux(Day 47)
  • libevent输出缓存区的数据
  • 宋红康 JVM 笔记 Day18|class文件结构
  • 网站源代码购买荆州 网站建设
  • ws2_32.dll文件丢失或损坏怎么办?4种有效修复方案分享
  • Rust程序语言设计(5-8)
  • 三合一网站建设公司杭州科技公司排名
  • 温州建设监理协会网站录入客户信息的软件
  • 38.Shell脚本编程2
  • ETLCloud-重塑制造业数据处理新范式
  • 【JavaSE】JVM
  • 部分网站dns解析失败wordpress 图片预加载
  • django 网站开发案例公众号微信
  • 数据库进阶实战:从性能优化到分布式架构的核心突破
  • MySQLEXPLAIN命令详解从执行计划看SQL性能优化
  • leetcode 506 斐波那契数
  • Linux 命令:mount
  • JavaWeb——Servlet生命周期
  • JavaWeb——(web.xml)中的(url-pattern)
  • 企业网站建设合作协议范文天津城市建设大学网站
  • 新专业加速落地!设备采购先行,工业视觉人才培养破局。
  • FastAPI 入门:从环境搭建到实战开发的完整指南
  • Redis的String详解
  • MySQL事务隔离级别详解从读未提交到可串行化
  • 网站域名注册空间app外包