JavaScript中的new()做了些什么

2020-01-03  本文已影响0人  agamgn

前言

一句话介绍new:

new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一

是不是有点难懂,没关系。我们从一道面试题说起:


demo1.png 是的,没有运行代码前,我以为是"amagn"。现在我们修改下代码: demo2.png 很显然,输出的结果是 'amagn', 但是有 new 存在呢?接着看下去

new的作用

我们先来通过两个例子来了解 new 的作用: demo3.png

通过代码的运行结果,我们可以得出结论:

我们接着探索new的作用,现在的TestPersion中没有显示的return任何值(默认为undefined),试着让他返回值试试:


demo4.png

通过这个例子,我们可以得出一个结论:

构造函数尽量不要返回值。因为返回原始值不会生效,返回对象会导致 new 操作符没有作用。

new的模拟实现

我们已经知道new的作用了,即当调用new的时候,JavaScript做了什么:

参考

new 运算符
JS 的 new 到底是干什么的?
代码地址

上一篇下一篇

猜你喜欢

热点阅读