【new操作符做了什么 —— js】
创始人
2024-05-15 10:59:00
0

🧁个人主页:个人主页

✌支持我 :点赞👍收藏🌼关注🧡

文章目录

  • new操作符具体做了什么?
    • 🎈创建了一个空的对象
    • ✨将空对象的原型,指向于构造函数的原型
    • 🍧将空对象作为构造函数的上下文(改变this指向)
      • 🍄未使用new操作符时的this
      • 🍄使用new操作符时的this
    • 🌋对构造函数有返回值的处理判断
      • 🍬返回基本类型
      • 🍬返回引用类型

new操作符具体做了什么?

🎈创建了一个空的对象

 function Foo(){}console.log(new Foo());

在这里插入图片描述

从上图中返回了一个对象,可以看出 Foo()为一个对象

✨将空对象的原型,指向于构造函数的原型

function Foo(){}
console.log(Foo.prototype == new Foo().__proto__);

在这里插入图片描述

显示结果 为true

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

🍄未使用new操作符时的this

 function Foo(){console.log(this);this.name = '张三'}console.log(Foo());

在这里插入图片描述

从上述中我们可以发现 此时构造函数的this为整个window,而window对象下并没有name,所以报出undefined(函数Foo()并没有执行return)

🍄使用new操作符时的this

 function Foo(){console.log(this);this.name = '张三'}console.log(new Foo());

在这里插入图片描述

此时,this即指向了 new Foo()这个对象

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

🍬返回基本类型

Number类型、String类型、Boolean类型、Null类型、Undefined类型、Biglnt类型;字符串类型、符号类型。

 function Foo(){this.name = '张三'return true;}console.log(new Foo());································function Test(){this.name = '张三'return 111;}console.log(new Test());

在这里插入图片描述
在这里插入图片描述

可以看出:如果构造函数返回基本类型,则忽略返回值

🍬返回引用类型

Object、Array、Function

  function Foo(){this.name = '张三'return {};}console.log(new Foo());

在这里插入图片描述

可以看出:如果构造函数返回引用类型,则new操作符 无效

🎉🎉🎉如有错误,请评论指出,thankyou~🎀🎀🎀
✨✨✨创作不易,如对您有帮助,欢迎给博主点赞收藏,给予鼓励哟💛

相关内容

热门资讯

程凤朝:完善公司治理要前瞻战略... 12月21日,中国公司治理50人论坛第六届主题论坛(第十九届中国公司治理论坛)举行,会上,中关村国睿...
海淀驻区住建委纪检监察组:深化... 为深入贯彻落实二十届中央纪委四次全会部署要求,海淀区纪委监委驻区住建委纪检监察组坚持以案件线索为镜鉴...
专业梳理破诉讼僵局 暖心劝说释... 2024年,山西省退役军人事务厅联合中国法律援助和司法行政英烈关爱救助基金会、中国人民解放军石家庄军...
呼和浩特市法援护航“安薪过冬” 呼和浩特市 法援护航“安薪过冬” 呼和浩特市聚焦重点群体合法权益,针对农民工、网约车驾驶员、物流外卖...
铸法治之魂 优营商之境 聚发展... 营商环境是区域发展的核心竞争力,也是激发市场主体活力的关键所在。 2025年12月3日,《毕节市优化...
“惠民政策落不到村”,紧抓! “重点研究周武村党组织软弱涣散的问题,大家直奔主题,谈谈看法。”山西长治市潞城区店上镇会议室里,一场...
《南阳市中医药产业发展促进条例... 河南日报客户端记者 曾倩 12月26日,南阳市政府新闻办公室召开《南阳市中医药产业发展促进条例》(以...
资讯|蓝天彬律师应邀参加研讨会... 2025年12月27日,由北京市海淀区律师协会、北京市西城区律师协会、南京市律师协会联合主办,北京市...
河北一男子称因挪车问题,与一女... 据媒体报道,12月27日,河北衡水龙先生称一女司机以车辆被挡为由,要求他挪车,随后两人因此产生纠纷,...