亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

淺談js構造函數的方法與原型prototype

2019-11-20 09:33:59
字體:
來源:轉載
供稿:網友

把方法寫在構造函數內的情況我們簡稱為函數內方法,把方法寫在prototype屬性上的情況我們簡稱為prototype上的方法。

•函數內的方法: 使用函數內的方法我們可以訪問到函數內部的私有變量,如果我們通過構造函數new出來的對象需要我們操作構造函數內部的私有變量的話, 我們這個時候就要考慮使用函數內的方法.

•prototype上的方法: 當我們需要通過一個函數創建大量的對象,并且這些對象還都有許多的方法的時候;這時我們就要考慮在函數的prototype上添加這些方法. 這種情況下我們代碼的內存占用就比較小.

•在實際的應用中,這兩種方法往往是結合使用的;所以我們要首先了解我們需要的是什么,然后再去選擇如何使用

// 構造函數Afunction A(name) {  this.name = name || 'a';  this.sayHello = function() {    console.log('Hello, my name is: ' + this.name);  }}// 構造函數Bfunction B(name) {  this.name = name || 'b';}B.prototype.sayHello = function() {  console.log('Hello, my name is: ' + this.name);};var a1 = new A('a1');var a2 = new A('a2');a1.sayHello();a2.sayHello();var b1 = new B('b1');var b2 = new B('b2');b1.sayHello();b2.sayHello();

寫了兩個構造函數,第一個是A,這個構造函數里面包含了一個方法sayHello;第二個是構造函數B, 我們把那個方法sayHello寫在了構造函數B的prototype屬性上面.把方法寫在構造函數的內部,增加了通過構造函數初始化一個對象的成本,把方法寫在prototype屬性上就有效的減少了這種成本. 你也許會覺得,調用對象上的方法要比調用它的原型鏈上的方法快得多,其實并不是這樣的,如果你的那個對象上面不是有很多的原型的話,它們的速度其實是差不多的

另外,需要注意的一些地方:

•首先如果是在函數的prototype屬性上定義方法的話,要牢記一點,如果你改變某個方法,那么由這個構造函數產生的所有對象的那個方法都會被改變.

•還有一點就是變量提升的問題,我們可以稍微的看一下下面的代碼:

func1(); // 這里會報錯,因為在函數執行的時候,func1還沒有被賦值. error: func1 is not a functionvar func1 = function() {  console.log('func1');};func2(); // 這個會被正確執行,因為函數的聲明會被提升.function func2() {  console.log('func2');}

•關于對象序列化的問題.定義在函數的prototype上的屬性不會被序列化,可以看下面的代碼:

function A(name) {  this.name = name;}A.prototype.sayWhat = 'say what...';var a = new A('dreamapple');console.log(JSON.stringify(a));

我們可以看到輸出結果是{"name":"dreamapple"}

以上這篇淺談js構造函數的方法與原型prototype就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久这里只有精品| 久久人人爽人人爽人人片av高请| 91在线精品播放| 精品久久久国产精品999| 久久久久国产精品一区| 欧美激情视频一区| 精品国产一区二区在线| 欧美国产日韩视频| 高清欧美性猛交xxxx| 久久99久久99精品免观看粉嫩| 国产欧美久久一区二区| 色与欲影视天天看综合网| 日本韩国欧美精品大片卡二| 国内精品视频在线| 55夜色66夜色国产精品视频| 日韩在线视频免费观看高清中文| 国产成人小视频在线观看| 97久久久免费福利网址| 国产午夜精品一区理论片飘花| 国产精品国内视频| 欧亚精品在线观看| 综合欧美国产视频二区| 另类视频在线观看| 4p变态网欧美系列| 国产精品爽黄69| 在线视频免费一区二区| 91在线视频成人| 亚洲精品一区在线观看香蕉| 亚洲欧美中文在线视频| 国产精品女主播视频| 精品亚洲一区二区| 欧美色道久久88综合亚洲精品| 欧美裸体xxxx极品少妇| 日韩精品亚洲精品| 久久久久久久久爱| 国产亚洲一区精品| 欧美福利视频在线| 久久中文久久字幕| 97在线免费观看| 在线成人一区二区| 欧美成人自拍视频| 中文字幕在线观看亚洲| 欧美精品在线观看91| 8090成年在线看片午夜| 精品久久久久久中文字幕大豆网| 97成人精品区在线播放| 国产精品久久久久免费a∨大胸| 91亚洲精品在线| 欧美在线视频免费播放| 国产精品对白刺激| 精品高清一区二区三区| 中文字幕日韩视频| 欧美激情在线一区| 黄色精品在线看| 日韩美女视频免费看| 不卡毛片在线看| 日韩电影视频免费| 91日本在线观看| 久久久精品中文字幕| 亚洲一区二区中文| 91网站在线免费观看| 欧美激情免费看| 国产精品爽黄69天堂a| 欧美性色视频在线| 尤物九九久久国产精品的分类| 高清一区二区三区四区五区| 亚洲乱码一区av黑人高潮| 久久精品国产久精国产思思| 国产精品久久久久久久久男| 成人午夜在线影院| 亚洲国产美女久久久久| 亚洲欧美第一页| 国产suv精品一区二区三区88区| 国产精品白嫩美女在线观看| 久久在线免费视频| 欧美性xxxxxxxxx| 成人疯狂猛交xxx| 91色在线视频| 精品视频在线播放| 国产精品露脸av在线| 国产精品丝袜高跟| 欧美在线激情网| 欧美日韩亚洲一区二区| 国产一区二中文字幕在线看| 欧美高清性猛交| 国产精品∨欧美精品v日韩精品| 欧美情侣性视频| 国产一区视频在线播放| 精品久久香蕉国产线看观看gif| 亚洲第一精品福利| 欧美大片va欧美在线播放| 91久久在线视频| 日本精品免费观看| 91免费欧美精品| 国产精品中文字幕在线观看| 丰满岳妇乱一区二区三区| 日韩免费在线播放| 国产精品v日韩精品| 欧美电影在线观看完整版| 欧美日韩精品在线观看| 日韩欧美成人网| 久久久久久999| 色婷婷综合久久久久中文字幕1| 久久久久免费精品国产| 91国内产香蕉| 成人黄色av免费在线观看| 中文字幕日韩精品有码视频| 国产精品自拍视频| 亚洲成人黄色在线观看| 国产精品美女网站| 欧美大胆a视频| 日韩av在线资源| 成人久久一区二区三区| 一区二区三区 在线观看视| 久久精品美女视频网站| 精品久久久久人成| 欧美日韩电影在线观看| 国产成人+综合亚洲+天堂| 国产精品男人爽免费视频1| 青青草原成人在线视频| 亚洲片在线资源| 国模精品一区二区三区色天香| 欧美成人免费在线观看| 中文字幕日韩在线播放| 影音先锋欧美在线资源| 成人春色激情网| 亚洲va欧美va国产综合久久| 日韩精品视频在线| 欧美一级淫片丝袜脚交| 亚洲乱码一区二区| 在线观看视频亚洲| 亚洲精品国产精品自产a区红杏吧| 国产精品自产拍在线观看中文| 国模精品一区二区三区色天香| 日韩在线中文字| 国产精品美女呻吟| 在线视频精品一| 国产精品999| 精品国产老师黑色丝袜高跟鞋| 国产va免费精品高清在线| 久久91亚洲精品中文字幕| 精品久久久免费| 日韩精品在线私人| 91精品视频大全| 亚洲乱码一区av黑人高潮| 久久精视频免费在线久久完整在线看| 亚洲jizzjizz日本少妇| 欧美精品日韩三级| 国产精品男女猛烈高潮激情| 欧美精品video| 成人av电影天堂| 日韩电影中文字幕在线| 亚洲精品国产精品自产a区红杏吧| 91视频国产精品| 一区二区欧美日韩视频| 日韩在线播放av| 国产精品久久久久久久午夜| 国产日韩欧美日韩| 国产精品视频网站| 久久视频在线直播| 日韩欧美aⅴ综合网站发布| 亚洲成人网av| 亚洲va欧美va国产综合剧情| 国产午夜精品一区理论片飘花|