js中的什么时候需要用new来实例化?

有人说js中函数和类就是一个概念,请问:
1 为什么我们在大多数情况下没有用new来实例化一个类(函数),如下

JavaScript code
 
1
2
3
4
5
6
7
<script>
function sayHello()
{
    alert("hello")
}
sayHello();直接调用他
</script>



2 什么情况下我们应该用new,而什么情况下又不该用new.

答:

如下代码:

function Who()
{
this.Name;
this.Age;
}
var me = new Who();
me.Name = "zhang san";
me.Age = 22;
alert(me.Name);
alert(me.Age);

var you = new Who();
you.Name = "li si";
you.Age = 23;
alert(you.Name);
alert(you.Age);

总结如下:

1 public的类也需要构造器new.
2 大多数情况确实没有必要用new,大概是函数是static的,如果函数中有[this.函数名]或者[this.属性名]的话,就应该new一个函数,当然也可以不用new,那么就访问不到this的属性值了.

原文地址:https://www.cnblogs.com/gavinyyb/p/6197246.html