|javascript中new的实现原理和方式

- 函数和构造函数的区别
2) 普通函数如果没return返回的就是undefined构造函数没有返回的也是对象(作为实例)
3)执行的时候都会产出私有作用域
4)this指向 , 普通函数谁执行的this就是谁 , 构造函数里面的this是返回来的实例
- new关键词使用(通过new一个构造函数生成多个实例) , 具体new做的是:
2)第二步:对象原型链指向 ,
3)第三步:把构造函数里面的this指向对象
3)第四步:返回对象 , 如果没return也会返回一个对象
javascript 中new的实现原理
// 自己实现一个new方法function newFactory(Fn) {// 创建对象const obj = {// 原型链指向构造函数的原型链【|javascript中new的实现原理和方式】
obj.__proto__ = Fn.prototype// 函数执行this指向到objconst res = Fn.apply(obj);// 如果构造函数执行返回对象就用对象 , 否则就返回objreturn ({).toString.call(res) === '[object Object
' ? res : obj;
var DemoFn =function(){
newFactory(DemoFn) //返回一个对象(实例)是不是实现了一个new啊 , 使用和原理你了解多少呢?
推荐阅读
- 深圳市场监管|深圳进口冻品须入集中监管仓进行消杀和抽样核酸检测
- 数字人民币试点地区展开测试 集中在餐饮、零售、充值等小范围场景
- 识别“95”号段中的“李鬼” 这些小技巧要掌握!
- 珠海生活资讯交流|推动琴澳旅游合作, 大横琴文旅展示中心18日在横琴口岸正式开放
- 中国冰淇淋市场总量超千亿元 还有哪些机会可挖掘?
- 挺过上半年疫情冲击,中国电竞行业为啥更红火了?
- 本月中旬,真爱值得等待,等来了爱情,将彼此珍惜的四大星座
- 懂车帮|中国版“路虎揽胜”上街,一般人认不出来,堪称百万SUV,15万起
- 暴雨|中央气象台继续发布暴雨黄色预警!北京这些地区需注意
- 中国|13岁丧父15岁丧母,嫂子变卖嫁妆供他读书,终成中国首富,他是谁
