`

javascript的new和不new是不是一样

阅读更多

1、javascript的new干了什么?

2、为什么有的时候new和不new一样?

1、《javascript精粹》:如果在一个函数前面带上new来调用该函数,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this将被绑定到那个新对象上。 具体讲就是new的时候开辟了内存空间创建了一个object这个object就是this,然后这个this的prototype指向了函数本身的prototype。

2、为什么有的时候new和不new是一样的,如果你在一个函数里面写了return就是有返回值,那么他会舍弃原先的new开辟的内容控件及指向的prototype而直接使用返回值,所以就出现了new和不new是一样的都是得到返回值。 这也是javascript的特性吧,如果你在java或.net里面写返回值的话,他会报编译期错误。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics