javascript学习笔记:new运算符

[size=medium]作为一个学习过其他语言的程序员来说,对new肯定不陌生。 我一度也是这样。

但是前两天突然想到这样的代码时,我就懵了。[/size]

function Person(name){
this.name = name;
}

var p1 = new Person("mike");
var p2 = Person("jack"); /*这个不会报错,这里Person作为函数被调用,该函数没有返回任何值,所以p2是undefined,作为一个java程序员,我当时在这里确实懵了*/
console.log(p1);
console.log(p2);


之所以有疑惑,还是因为对javascript的函数理解不够。

经过查阅资料,就是作为参考书的《JavaScript权威指南(第五版)》,大概弄清楚了,但是还不够清楚。

1、 new是一个运算符,它首先创建一个对象,该对象的属性都未定义,接下来,它将调用特定的构造函数,传递指定的参数,此外还要把新创建的对象传递给关键字this。这样构造函数就可以使用关键字this来初始化新对象。

2、没有参数时,可以省去括号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值