色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Javascript學習筆記6 prototype的提出

首先我們繼續上文的代碼,我們來把這段代碼延伸一下:
復制代碼 代碼如下:
<script type="text/Javascript">
var Person = function (name, age) {
this.name = name;
this.age = age;
this.Introduce = function () {
alert("My name is " + this.name + ".I'm " + this.age);
};
};
var person1 = new Person("飛林沙", 21);
var person2 = new Person("kym", 26);
alert(person1.Introduce == person2.Introduce);
</script>


結果彈出false。也就是說,這兩個對象的方法是不同的方法。那么我們知道,在C#中,每個對象會維護著一個方法表,可是方法表應該指向同一塊地址。如果是這樣的話,那當我們聲明了100個對象,是不是要建立100個對象拷貝,對空間是不是一個很大的浪費呢?

于是我們就想了這樣的解決辦法,用prototype:
復制代碼 代碼如下:
<script type="text/Javascript">
var Person = function (name, age) {
this.name = name;
this.age = age;
};
Person.prototype.Introduce = function () {
alert("My name is " + this.name + ".I'm " + this.age);
}
var person1 = new Person("飛林沙", 21);
var person2 = new Person("kym", 26);
alert(person1.Introduce == person2.Introduce);
</script>


這樣就可以了。所以你還會再說是否用prototype都是一樣的么?其實我以前也是這么理解的,在這次偶然的試驗中看到了這個問題。

JavaScript技術Javascript學習筆記6 prototype的提出,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 阳新县| 朝阳市| 宝应县| 海原县| 武穴市| 莆田市| 闸北区| 宜兴市| 辽中县| 尖扎县| 长沙市| 庄浪县| 海兴县| 金塔县| 海晏县| 周宁县| 光泽县| 青冈县| 梅州市| 铁岭市| 孟连| 鲁甸县| 绍兴县| 顺昌县| 鄢陵县| 宜川县| 平凉市| 抚州市| 博野县| 金乡县| 东丰县| 南充市| 惠安县| 九寨沟县| 玛纳斯县| 宁陵县| 定西市| 澄江县| 兴国县| 崇礼县| 万安县|