js中的new方法

new方法的作用:创建一个实例对象,并继承原对象的属性和方法;

new对象内部操作:

1,创建一个新对象,将新对象的proto属性指向原对象的prototype属性;

2,构造函数执行环境中的this指向新对象;

3,执行构造函数中的代码;

4,若构造函数返回的是一个对象则返回此对象,若非,则返回新创建的对象;

此过程完成了创建对象、对象继承、属性初始化过程,被称为隐式原型继承;

手写实现new:

javascript 复制代码
function new_(Constructor,args){
    var obj = Object.create(null);// 创建一个新对象
    obj.__proto__ = Consturct.prototype;// 将旧对象原型赋值给新对象
    var result = Constructor.apply(obj, args);// 将this指向新对象
    return typeof result === 'object' ? result : obj;
}
相关推荐
神奇霸王龙4 天前
Codex MCP GA 实测:Qwen / GLM / Kimi / DeepSeek / MiniMax 调度 Codex 沙箱的真实成本
人工智能·ai·agent·ai编程·原型模式·mcp
葡萄城技术团队6 天前
如何通过 JSON 数据源 / Web API 快速构建轻量级报表(Report)?
前端·json·原型模式
Leo.yuan6 天前
2026国内数据治理平台选型指南:从ETL到数据质量的一体化路径
原型模式
一个游离的指针19 天前
JS中的对象的相关概念
开发语言·javascript·原型模式
码哥DFS21 天前
构造函数、实例对象、对象原型 ----三者关系
开发语言·javascript·原型模式
lincats23 天前
AI Agent 工程化六层架构:从 Prompt 到 Production
人工智能·架构·prompt·知识图谱·原型模式·vibecoding·grillme
叶总没有会24 天前
5.1知识库概念进阶
java·人工智能·spring·阿里云·ai·原型模式
lincats24 天前
智能体工程 vs 软件工程:计算机系那套课程,还能适应 AI 时代吗?
人工智能·软件工程·原型模式·vibecoding·claudecode·grillme
ltqvibe1 个月前
数据中台为什么走不通——本体语义给出的替代路径
人工智能·原型模式·本体语义平台
啦啦啦啦啦zzzz1 个月前
设计模式:原型模式
c++·设计模式·原型模式