中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

舉例說明JavaScript中的實(shí)例對(duì)象與原型對(duì)象
來源:易賢網(wǎng) 閱讀:1324 次 日期:2016-07-20 16:08:52
溫馨提示:易賢網(wǎng)小編為您整理了“舉例說明JavaScript中的實(shí)例對(duì)象與原型對(duì)象”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了JavaScript中的實(shí)例對(duì)象與原型對(duì)象,針對(duì)constructor屬性和prototype屬性展開來講,需要的朋友可以參考下

首先聲明:javascript中每個(gè)對(duì)象都有一個(gè)constructor屬性和一個(gè)prototype屬性。constructor指向?qū)ο蟮臉?gòu)造函數(shù),prototype指向使用構(gòu)造函數(shù)創(chuàng)建的對(duì)象實(shí)例的原型對(duì)象。

function Person(){ 

 } 

var person = new Person(); 

Person.prototype = { 

 constructor : Person, 

 name : 'zxs', 

 age : 24, 

 sayName : function(){alert(this.name)} 

 } 

person.sayName(); 

在這段代碼中會(huì)報(bào)錯(cuò),sayName() is not defined。根據(jù)javascript高級(jí)程序設(shè)計(jì)第二版的解釋,是因?yàn)橹貙懙脑颓袛嗔藰?gòu)造函數(shù)與最初原型之間的聯(lián)系。但是我們調(diào)整一下上面語句的順序。如下:

function Person(){ 

 } 

//var person = new Person(); 

Person.prototype = { 

 constructor : Person, 

 name : 'zxs', 

 age : 24, 

 sayName : function(){alert(this.name)} 

/*===========================================================*/

var person = new Person(); 

/*===========================================================*/

 person.sayName(); // zxs 

alert(person.constructor) //function Object() { [native code]} or function Person() {} 取決與藍(lán)色的語句是否有效 

注意上面兩段代碼等號(hào)中間的語句。按第二段的順序?qū)懘a,將會(huì)輸出 ”zxs“,這個(gè)結(jié)果說明在第一種情況下報(bào)錯(cuò)并不能說明是因?yàn)榍袛嗔藰?gòu)造函數(shù)與原想之間的聯(lián)系引起的。

Person.prototype = {} 

本來就是一種定義對(duì)象的方法,而且在javascript中每個(gè)對(duì)象的constructor屬性都默認(rèn)的指向Object構(gòu)造函數(shù),這也就不難說明重寫原型對(duì)象確實(shí)切斷了構(gòu)造函數(shù)與最初原型之間的聯(lián)系,但并不能說明這種聯(lián)系被切斷之后 person就不能訪問到sayName()函數(shù)。

現(xiàn)在有這樣的假設(shè):函數(shù)的prototype屬性所指向的原型對(duì)象,與我們顯示新建的原型對(duì)象并不是完全等同的。當(dāng)我們調(diào)用函數(shù)的時(shí)候會(huì)創(chuàng)建一個(gè)原型對(duì)象,此時(shí)會(huì)首先查找當(dāng)前環(huán)境中是否存在其原型對(duì)象,如果程序中不存在,就創(chuàng)建一個(gè),如果環(huán)境中存在,側(cè)查找他們的屬性和方法,最后根據(jù)查找的結(jié)果返回一個(gè)原型對(duì)象,這個(gè)對(duì)象中的屬性和方法總是優(yōu)先使用默認(rèn)原型中的屬性和方法,也就是構(gòu)造函數(shù)中定義的屬性和方法。當(dāng)當(dāng)調(diào)用的方法或?qū)傩圆淮嬖谟谀J(rèn)的原型中時(shí),才使用定義在Person.prototype = {} 的屬性和方法。

javascript是解釋性的語言,語句都是順序執(zhí)行的,在第一段代碼中,當(dāng)我們使用 new 關(guān)鍵字創(chuàng)建新對(duì)象的時(shí)候,Person.prototype = {} 并沒有執(zhí)行,也就是說在當(dāng)前的執(zhí)行環(huán)境中找不到其中定義的方法和屬性,而構(gòu)造函數(shù)中沒有該方法,所以出錯(cuò)。就像一個(gè)變量,給他賦值的時(shí)候程序沒有執(zhí)行將不能使用。在第二段中環(huán)境中已經(jīng)存在該調(diào)用的方法,構(gòu)造函數(shù)的原型對(duì)象已經(jīng)創(chuàng)建完畢,所以可以得到結(jié)果。

再看下面的一段程序:

////////////////////////////////////////////////////////////////////////// 

function Person(){} 

/*===========================================================*/

 var person = new Person(); 

Person.prototype.name = 'song'; 

/*===========================================================*/

//Person.prototype.sayName = function(){alert(this.name)}; 

Person.prototype = { 

constructor : Person, 

name : 'zxs', 

age : 24, 

sayName : function(){alert(this.name)} 

person.sayName(); // error 

////////////////////////////////////////////////////////////////////////// 

function Person(){  } 

/*var person = new Person();*/

Person.prototype.name = 'song';  

/*Person.prototype.sayName = function(){alert(this.name)};*/

Person.prototype = {   

constructor : Person, 

  name : 'zxs', 

  age : 24, 

  sayName : function(){alert(this.name)} 

/*===========================================================*/

var person = new Person(); 

/*===========================================================*/

person.sayName(); // zxs 

從這里可以看出使用 Person.prototype.name = '',的方式不論在什么地方創(chuàng)建對(duì)象都能被訪問,如果同時(shí)存在對(duì)象字面量和這種方法定義原型對(duì)象,將使用后定義的作為最終值。并且對(duì)原型對(duì)象使用對(duì)象字面量定義之后,該定義必須出現(xiàn)在創(chuàng)建對(duì)象的語句之前才能被訪問到。

實(shí)例不能訪問到原型對(duì)象中的屬性和方法,不僅僅是因?yàn)橹貙懺蛯?duì)象切斷了構(gòu)造函數(shù)與最初原型之間的聯(lián)系。

function Person(){  

  }  

var person = new Person();  

Person.prototype = {  

  //constructor : Person,  

  name : 'zxs',  

  age : 24,  

  sayName : function(){alert(this.name)}  

  }  

person.sayName();  

以上代碼在實(shí)例化對(duì)象時(shí)構(gòu)造函數(shù)的原型為空,它沒有任何除默認(rèn)屬性以外的屬性。重寫構(gòu)造函數(shù)的原型確實(shí)切斷了構(gòu)造函數(shù)與最初原型之間的聯(lián)系。

在使用 new 操作符以后構(gòu)造函數(shù)的原型對(duì)象中的屬性和方法已經(jīng)添加到 person對(duì)象中。因?yàn)橐陨戏椒楹瘮?shù)原型添加新屬性和方法不具有動(dòng)態(tài)性,所以person不能訪問到新添加的屬性和方法。

重寫原型對(duì)象之后,就如同如下代碼:

var o = { 

  name : 'zxs'

  } 

var obj = o; 

o = {} 

console.log(o.name);  

此時(shí)輸出的值是undefined,因?yàn)椋瑢?duì)象是一個(gè)引用類型,“=”是賦值操作符,并且其運(yùn)算順序是從右往左。o={}就是說o的指向已經(jīng)改變,是一個(gè)空對(duì)象。

Person.prototype.mothed = function() {}與Person.prototype={mothed:function(){}}的區(qū)別就如同 arr = []和arr.push()一樣,前者都是修改自身,后者是完全改變自身。

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:舉例說明JavaScript中的實(shí)例對(duì)象與原型對(duì)象
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn)

版權(quán)所有:易賢網(wǎng)

中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
...xxx性欧美| 亚洲色图一区二区三区| 欧美日韩中文精品| 91黄色免费网站| 日本久久电影网| 欧美一a一片一级一片| 欧美在线观看视频在线| 欧美性猛片aaaaaaa做受| 欧美系列亚洲系列| 欧美一区二区三区四区五区| 欧美午夜电影在线播放| 欧美性三三影院| 欧美一级夜夜爽| 久久日韩精品一区二区五区| 久久婷婷国产综合精品青草| 久久久久久久久久看片| 国产欧美一区二区三区鸳鸯浴| 国产午夜亚洲精品午夜鲁丝片| 久久亚洲欧美国产精品乐播| 国产午夜精品一区二区三区嫩草| 久久久久久久久99精品| 中文字幕一区二区三区蜜月| 亚洲免费观看视频| 日韩电影网1区2区| 国产成+人+日韩+欧美+亚洲| 欧美一区二区三区在线观看视频| 在线播放91灌醉迷j高跟美女| 欧美精品丝袜中出| 久久久久88色偷偷免费| 亚洲日本va午夜在线电影| 午夜视频一区在线观看| 久久99精品久久久久久国产越南| 粉嫩av一区二区三区在线播放| 91福利小视频| 国产欧美一区二区精品婷婷| 亚洲免费av观看| 国产在线视频一区二区三区| 99视频一区二区三区| 精品视频免费看| 亚洲国产高清在线观看视频| 亚洲成人精品一区二区| 国产精品系列在线播放| 欧美午夜精品久久久久久孕妇| 久久日韩粉嫩一区二区三区| 一区av在线播放| 福利一区福利二区| 日韩一区二区三区免费看 | 亚洲欧美日韩一区二区三区在线观看| 亚洲国产视频一区二区| 狠狠狠色丁香婷婷综合激情| 欧美最猛黑人xxxxx猛交| 国产视频视频一区| 免费看欧美美女黄的网站| av亚洲产国偷v产偷v自拍| 欧美一区二区三区性视频| 最近中文字幕一区二区三区| 国模无码大尺度一区二区三区| 在线免费观看成人短视频| 国产欧美一区二区精品性色| 日本免费新一区视频| 欧洲精品一区二区| 亚洲色图欧洲色图| 成人午夜电影小说| 精品国产乱码久久久久久夜甘婷婷| 欧美不卡一区二区| 免费在线观看日韩欧美| 成人综合在线观看| 日韩一区二区在线免费观看| 亚洲国产精品久久人人爱蜜臀| 国产成人99久久亚洲综合精品| 26uuu精品一区二区在线观看| 亚洲va国产天堂va久久en| 日本精品一区二区三区四区的功能| 日本一区二区三级电影在线观看| 国内精品伊人久久久久av影院| 欧美一级理论性理论a| 日韩国产一二三区| 欧美一卡二卡三卡四卡| 日韩经典中文字幕一区| 欧美日韩国产中文| 日韩成人一区二区| 日韩欧美国产一区在线观看| 免费av成人在线| 欧美成va人片在线观看| 精彩视频一区二区三区| 精品国产电影一区二区| 国产不卡在线一区| 亚洲欧美欧美一区二区三区| 色综合天天视频在线观看| 亚洲免费观看高清在线观看| 欧洲生活片亚洲生活在线观看| 亚洲线精品一区二区三区 | 亚洲美腿欧美偷拍| 欧美日韩一二三区| 喷水一区二区三区| 久久综合色综合88| 成人av免费在线| 一区二区欧美视频| 91麻豆精品国产综合久久久久久 | 日韩高清在线观看| 国产亚洲一二三区| 色噜噜狠狠色综合欧洲selulu| 亚洲成av人片在www色猫咪| 日韩三级在线免费观看| 国产精品一区免费在线观看| 亚洲精品视频免费看| 91精品国产欧美日韩| 不卡影院免费观看| 日日夜夜精品免费视频| 国产婷婷色一区二区三区在线| 96av麻豆蜜桃一区二区| 日韩av高清在线观看| 国产精品美女www爽爽爽| 欧美三级资源在线| 成人天堂资源www在线| 亚洲电影视频在线| 久久一留热品黄| 欧美在线|欧美| 成人性色生活片免费看爆迷你毛片| 一区二区三区在线视频免费 | 中文字幕日韩一区| 7878成人国产在线观看| 国产成人精品午夜视频免费| 香蕉乱码成人久久天堂爱免费| 久久久99久久| 欧美日韩色一区| 91麻豆精东视频| 国产成人小视频| 免费国产亚洲视频| 洋洋成人永久网站入口| 国产精品欧美一区二区三区| 日韩一区二区三| 欧美精品第1页| 91国偷自产一区二区三区成为亚洲经典 | 精品剧情在线观看| 国产一区视频网站| 日韩精品成人一区二区在线| 亚洲黄色性网站| 中文字幕在线视频一区| 久久综合国产精品| 欧美一区二区视频在线观看| 欧美视频中文字幕| 91久久人澡人人添人人爽欧美 | 亚洲欧美另类综合偷拍| 久久久久88色偷偷免费| 欧美大胆人体bbbb| 4438亚洲最大| 欧美精品日韩精品| 欧美日韩亚洲综合一区二区三区| 99v久久综合狠狠综合久久| 高清成人在线观看| 国产成人免费视频精品含羞草妖精| 捆绑紧缚一区二区三区视频| 丝袜国产日韩另类美女| 亚洲国产精品麻豆| 丝袜诱惑制服诱惑色一区在线观看| 一区二区三区在线观看网站| 亚洲男人电影天堂| 亚洲免费av网站| 亚洲无人区一区| 日韩—二三区免费观看av| 亚洲成人你懂的| 日本中文字幕一区二区视频 | 伊人夜夜躁av伊人久久| 亚洲欧美一区二区三区孕妇| 国产精品久久午夜| 亚洲精品欧美专区| 亚洲v中文字幕| 久久精品二区亚洲w码| 国内外成人在线| 菠萝蜜视频在线观看一区| 91视频在线看| 91麻豆精品久久久久蜜臀| 精品三级av在线| 国产精品久99| 亚洲午夜精品在线| 蜜臀精品久久久久久蜜臀| 国产不卡视频一区| 色狠狠av一区二区三区| 日韩欧美在线观看一区二区三区| 精品999在线播放| 亚洲三级小视频| 日韩精品1区2区3区| 国产激情一区二区三区桃花岛亚洲| thepron国产精品| 91精品午夜视频| 欧美精彩视频一区二区三区| 一区二区视频在线| 国产一区美女在线| 一本色道久久综合亚洲精品按摩| 欧美日韩精品系列| 欧美激情一区三区| 日韩黄色片在线观看| 国产成人午夜视频| 4438成人网| 中文字幕在线不卡| 国模无码大尺度一区二区三区| 色婷婷久久久久swag精品| 精品国产亚洲一区二区三区在线观看| 亚洲视频综合在线|