JavaScript实现new操作符
Posted 蚂蚁人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript实现new操作符相关的知识,希望对你有一定的参考价值。
首先我们要知道new操作符做了什么
- 创建一个空的对象,即{}
- 空对象的原型指向构造函数的原型,即设置该对象的构造函数
- 让this指向新创建的空对象,即新创建的对象作为this的上下文
- 判断返回值的类型,如果是值类型就是返回新的创建对象,如果是引用类型就返回引用类型的对象。(如果没有返回对象类型object包括Functoin, Array, Date, RegExg, Error),那么new表达式中的函数调用将返回该对象的引用)
function copyNew(obj,...args){ let newObj={}; newObj.__proto__=obj.prototype; // => Object.setPtototypeOf(newObj, obj.prototype) // 上面的两步可以合为一步 let newObj=Object.create(obj.prototype) let result=obj.apply(newObj, args); return typeof result ===‘object‘ ? result : newObj; // =>return result instanceof Object ? result : newObj }
以上是关于JavaScript实现new操作符的主要内容,如果未能解决你的问题,请参考以下文章
html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。