js之new运算符、构造函数

js中的new操作符和构造函数

new操作符作用于一个普通函数,这个普通函数就变成了构造函数。构造函数首字母一般大写;

使用new操作符创建构造函数的实例对象的步骤

  1. 在内存中新创建一个对象;
  2. 这个对象的__proto__指向构造函数的prototype;
  3. 构造函数内部的this指向该新对象;
  4. 执行构造函数内部的代码,也就是给新对象添加属性;
  5. 返回对象,如果构造函数内部返回的是基本类型,则默认会返回空对象;如果有要返回的对象,则直接返回该对象;否则返回创建的新对象。
let obj=new function(){
	return String('foo')
}
let obj1=new function(){
	return  new String('foo')
}
obj=='foo' ;    //false
obj1=='foo';   //true

对于String、Number、Boolean等函数作为普通函数执行时,只是将参数转换为对应的类型(基本类型),此时将其(基本类型)作为构造函数的返回对象时,则会被默认返回空对象。
而new String则是创建了一个字符串对象,并将其返回。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哆啦咪唏

看到这里了,不留下点什么吗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值