首页 > 其他分享 >new操作符的原理

new操作符的原理

时间:2023-04-05 15:34:15浏览次数:47  
标签:obj name age 操作符 result 原理 new fn 构造函数

首先这里是一个构造函数:

function Fun(age,name){

this.age=age

this.name=name

}

这个是创建的函数:

function create(fn,...args){

1.创建了一个空对象

var obj = {}

2.将空对象的原型指向构造函数的对象

Object.setPrototypeOf(obj,fn.prototype)

3.将空对象作为构造函数的上下文(改变this指向)

var result = fn.apply(obj,args)

4.对构造函数有返回值的处理判断

return result instanceof Object ? result : obj

}

在这里调用:

create(Fun,18,'张三')

 

标签:obj,name,age,操作符,result,原理,new,fn,构造函数
From: https://www.cnblogs.com/muchenli/p/17289511.html

相关文章

  • EasyUI闪屏,EasyUI页面加载提示:原理+代码+效果图
    使用EasyUI时,有个经常遇到的问题,页面还没有渲染完成的时候,就展现了。刚刚开始很混乱,等加载完成后,就好了。    $.parser.onComplete,这个是在所有组件解析完成后执行的事件。其实这个事件很有用的。很多在布局用到easyui的时候总会出现一个问题。就是在一进入主界面的时候,页......
  • 基础原理 | 善用数据手册
    【1】STM32F103ZET6定义  STM32=基于ARM核心的32位微控制器F =通用类型103=增强型Z=引脚数目为144脚(引脚越多外设越多)E=512K字节的闪存存储器T=封装为LQFP(LQFP144)6=工业级温度范围-40~85【2】引脚定义  引脚号和名称和芯片的引脚一一对应类型:S电源,I......
  • 一文带你弄懂 Maven 拉包原理
    业务需求开发的时候,我们总是会遇到拉不到依赖包的情况。此时如果不清楚Maven拉取依赖包的原理,那么很可能找不到问题所在。今天树哥就带大家了解下Maven拉包的原理,让你在遇到问题的时候能快速解决!三种仓库在Maven中,仓库指的是存放代码构建的一个位置。从分类上来说,Maven仓......
  • go run、build、install、get的原理和区别
    学习go也有好些年头了,都没怎么研究过go的编译命令。真是惭愧。今天学习并记录下结论:gorun专门用来运行命令源码文件的命令,一般用来运行单个文件gobuild主要是用于测试编译。编译某个包或者项目,在当前目录下生成可执行文件goinstall编译并安装代码包或者源码文件的。go......
  • 数据库系统原理之数据库应用设计与开发实例
    数据库应用设计与开发实例第一节需求描述与分析在此,结合某高校个性化课程在线选课的实际需求,给出一个简化的需求分析一、功能性需求1管理员后台模块学生信息管理教师信息管理课程信息管理班级信息管理2学生使用模块查询课程浏览所选课程查询成绩3教师使用模......
  • 聊聊微前端的原理和实践
    作者:TanXin本文对微前端的概念和场景进行科普,介绍一些主流的微前端的实现库及其用法,并讲解部分这些库的原理和实践知识。一、微前端在项目迭代中,随着业务的发展壮大,项目的功能模块通常也会越来越多。可能原来所有的代码模块都在一个仓库里,由一个团队负责。但随着功能模块越来越多,......
  • 一文带你弄懂 Maven 拉包原理
    业务需求开发的时候,我们总是会遇到拉不到依赖包的情况。此时如果不清楚Maven拉取依赖包的原理,那么很可能找不到问题所在。今天树哥就带大家了解下Maven拉包的原理,让你在遇到问题的时候能快速解决!三种仓库在Maven中,仓库指的是存放代码构建的一个位置。从分类上来说,Maven仓......
  • JDK ThreadPoolExecutor核心原理与实践
    一、内容概括本文内容主要围绕JDK中的ThreadPoolExecutor展开,首先描述了ThreadPoolExecutor的构造流程以及内部状态管理的机理,随后用大量篇幅深入源码探究了ThreadPoolExecutor线程分配、任务处理、拒绝策略、启动停止等过程,其中对Worker内置类进行重点分析,内容不仅包含其工作原理,......
  • 字节码引用检测原理与实战
    一、字节码与引用检测1.1Java字节码本章中的字节码重点研究Java字节码,Java字节码(Javabytecode)是Java虚拟机执行的一种指令格式。可以通过javap-c-vxxx.class(Class文件路径)命令来查看一个Class对应的字节码文件,如下图所示:1.2字节码检测字节码检测本质就是对.java或.kt文件......
  • virtualenv、virtualenvwrapper创建虚拟环境与使用原理
    摘要:virtualenv和virtualenvwrapper是创建和管理python虚拟环境的工具包,virtualenvwrapper是virtualenv的封装与扩展而来,方便创建、删除、切换虚拟环境 一、原理macos~/.bash_profile添加系统环境变量:exportWORKON_HOME=~/.virtualenvsexportVIRTUALENVWRAPPER_PYTHON=......