前端经典面试题 | New操作符的原理

简介: 前端经典面试题 | New操作符的原理

一、回答点

构造函数 实例


new 操作符通过执行自定义构造函数或内置对象构造函数,生成对应的对象实例.

二、深入回答

new操作背后的原理

       1 ) 在内存中创建一个空对象. => 如: var coderhing = {}


       2 ) 将构造函数的显示原型 赋值给这个对象的 隐式原型.coderhing.proto = Person.prototype


       3 ) this指向创建出来的新对象 => this = coderhing


       4 ) 执行函数体代码


       5 ) 若构造函数没有返回 飞空对象 那么自动返回创建出来的新对象 =>  return coderhing

new操作符的具体实现

function hingNew() {
  // 创建一个新对象
  var obj = Object.create(null);
  var Person = [].shift.call(arguments);
  // 将对象的 __proto__ 赋值为构造函数的 prototype 属性
  obj.__proto__ = Person.prototype;
  // 将构造函数内部的 this 赋值为新对象
  var ret = Person.apply(obj, arguments);
  // 返回新对象
  return typeof ret === "object" && ret !== null ? ret : obj;
}
function Coder(name, hibby) {
  this.name = name;
  this.hibby = hibby;
}
var Coder = hingNew(Coder, "hing", 18);
相关文章
|
20天前
|
中间件 数据库连接 API
Python面试:FastAPI框架原理与实战
【4月更文挑战第18天】FastAPI是受欢迎的高性能Python Web框架,以其简洁的API设计、强大的类型提示和优秀的文档生成能力著称。本文将探讨FastAPI面试中的常见问题,包括路由、响应对象、Pydantic模型、数据库操作、中间件和错误处理。同时,还会指出一些易错点,如类型提示不准确、依赖注入误解,并提供实战代码示例。通过理解和实践FastAPI,可以在面试中展示出色的Web开发技能。
27 1
|
1月前
|
机器学习/深度学习 SQL 分布式计算
Spark核心原理与应用场景解析:面试经验与必备知识点解析
本文深入探讨Spark核心原理(RDD、DAG、内存计算、容错机制)和生态系统(Spark SQL、MLlib、Streaming),并分析其在大规模数据处理、机器学习及实时流处理中的应用。通过代码示例展示DataFrame操作,帮助读者准备面试,同时强调结合个人经验、行业趋势和技术发展以展现全面的技术实力。
|
1月前
|
存储 缓存 安全
面试题-HashMap底层原理与HashTable的区别
字节跳动面试题-HashMap底层原理与HashTable的区别
33 0
|
10天前
|
算法 网络协议 安全
HTTP 原理和面试题
HTTP 原理和面试题
|
1月前
|
前端开发 数据可视化 JavaScript
探索前端可视化开发:低代码平台原理与实践
【4月更文挑战第7天】本文探讨了低代码平台在前端开发中的应用,介绍了其模型驱动、组件化和自动化部署的原理,强调了提升效率、降低技术门槛、灵活适应变更和保证一致性等优势。建议开发者明确适用场景,选择合适平台,并培养团队低代码技能,同时规划与现有技术栈的融合,实施持续优化治理。低代码平台正改变开发格局,为业务创新和数字化转型提供新途径。
58 0
|
2天前
|
自然语言处理 前端开发 Java
深入浅出JVM(六)之前端编译过程与语法糖原理
深入浅出JVM(六)之前端编译过程与语法糖原理
|
4天前
|
前端开发 测试技术
前端自动化测试中的快照测试原理
快照测试用于前端自动化测试,通过比较当前应用状态与预存预期快照来检测UI变化。流程包括设置测试环境、捕获屏幕快照、保存预期快照、比较快照及处理差异。当快照比较出现差异时,测试工程师审查判断是否为预期变化或错误,确保应用一致性。这种方法在重构、样式更改和跨浏览器测试时提供有效回归测试,减少手动验证工作。
|
8天前
|
安全 Java
美团一面,面试官让介绍AQS原理并手写一个同步器,直接凉了
美团一面,面试官让介绍AQS原理并手写一个同步器,直接凉了
25 6
|
11天前
|
JavaScript 前端开发 数据安全/隐私保护
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(二)
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(二)
|
11天前
|
JavaScript 前端开发 Python
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(一)
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(一)