有人說js中函數和類就是一個概念,請問:
1 為什么我們在大多數情況下沒有用new來實例化一個類(函數),如下
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的屬性值了.