国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Javascript學習筆記6 prototype的提出

2024-05-06 14:11:56
字體:
來源:轉載
供稿:網友
首先我們繼續上文的代碼,我們來把這段代碼延伸一下:
代碼如下:
<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都是一樣的么?其實我以前也是這么理解的,在這次偶然的試驗中看到了這個問題。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 商水县| 田林县| 金堂县| 五峰| 潞城市| 山阳县| 休宁县| 裕民县| 墨竹工卡县| 松原市| 普陀区| 平湖市| 镇赉县| 玉树县| 富民县| 水城县| 舞阳县| 廉江市| 耒阳市| 大石桥市| 黎城县| 滨海县| 禄丰县| 砀山县| 芦山县| 吕梁市| 射阳县| 内丘县| 科技| 沙湾县| 雅江县| 邵武市| 马边| 陇南市| 平远县| 梅河口市| 泸西县| 筠连县| 延寿县| 湖州市| 桐城市|