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

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

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

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

function Person(){ 

 } 

var person = new Person(); 

Person.prototype = { 

 constructor : Person, 

 name : 'zxs', 

 age : 24, 

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

 } 

person.sayName(); 

在這段代碼中會報錯,sayName() is not defined。根據(jù)javascript高級程序設計第二版的解釋,是因為重寫的原型切斷了構造函數(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() {} 取決與藍色的語句是否有效 

注意上面兩段代碼等號中間的語句。按第二段的順序?qū)懘a,將會輸出 ”zxs“,這個結果說明在第一種情況下報錯并不能說明是因為切斷了構造函數(shù)與原想之間的聯(lián)系引起的。

Person.prototype = {} 

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

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

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

再看下面的一段程序:

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

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)建對象都能被訪問,如果同時存在對象字面量和這種方法定義原型對象,將使用后定義的作為最終值。并且對原型對象使用對象字面量定義之后,該定義必須出現(xiàn)在創(chuàng)建對象的語句之前才能被訪問到。

實例不能訪問到原型對象中的屬性和方法,不僅僅是因為重寫原型對象切斷了構造函數(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ù)的原型為空,它沒有任何除默認屬性以外的屬性。重寫構造函數(shù)的原型確實切斷了構造函數(shù)與最初原型之間的聯(lián)系。

在使用 new 操作符以后構造函數(shù)的原型對象中的屬性和方法已經(jīng)添加到 person對象中。因為以上方法為函數(shù)原型添加新屬性和方法不具有動態(tài)性,所以person不能訪問到新添加的屬性和方法。

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

var o = { 

  name : 'zxs'

  } 

var obj = o; 

o = {} 

console.log(o.name);  

此時輸出的值是undefined,因為,對象是一個引用類型,“=”是賦值操作符,并且其運算順序是從右往左。o={}就是說o的指向已經(jīng)改變,是一個空對象。

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

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:舉例說明JavaScript中的實例對象與原型對象

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
美女国产一区| 久久精视频免费在线久久完整在线看| 中文国产一区| 欧美凹凸一区二区三区视频| 亚洲青色在线| 国产精品久久久久久久久久久久 | 亚洲精选视频在线| 欧美日韩国产bt| 午夜精品久久久久久久久久久| 国产一区二区三区精品欧美日韩一区二区三区| 久久色中文字幕| 宅男噜噜噜66一区二区| 国产一区二区成人久久免费影院| 欧美国产极速在线| 久久国产免费| 亚洲视频一二区| 亚洲国产精品第一区二区 | 久久免费国产| 一区二区三区欧美在线| 国产亚洲一区在线| 欧美精品成人91久久久久久久| 亚洲伊人一本大道中文字幕| 在线欧美电影| 国产日本欧洲亚洲| 欧美精品综合| 免费久久99精品国产自在现线| 亚洲午夜精品17c| 亚洲激情视频网站| 激情小说另类小说亚洲欧美 | 中日韩高清电影网| 亚洲高清不卡在线| 国产欧美精品一区| 欧美日本一区二区高清播放视频| 久久国产高清| 午夜精品一区二区三区四区| 亚洲日本中文字幕区| 狠狠色狠色综合曰曰| 国产精品免费观看视频| 欧美日韩国产欧美日美国产精品| 理论片一区二区在线| 欧美一区视频| 午夜国产一区| 亚洲欧美久久久| 中文在线一区| 一区二区国产在线观看| 亚洲精品免费一区二区三区| 亚洲国产女人aaa毛片在线| 国色天香一区二区| 国产视频亚洲精品| 国产欧美日韩亚洲精品| 国产精品毛片一区二区三区 | 久久只有精品| 久久久久久国产精品一区| 亚洲男人的天堂在线| 亚洲已满18点击进入久久| 一区二区三区四区精品| 亚洲深夜激情| 亚洲曰本av电影| 午夜精品久久久久久久久久久久久 | 亚洲一二三区在线| 99热在线精品观看| 亚洲精品国产精品国自产观看浪潮 | 亚洲免费影院| 午夜精品网站| 久久国产主播| 免费在线亚洲| 欧美日韩国产精品| 国产精品久久77777| 国产麻豆9l精品三级站| 国内精品久久久久久久97牛牛| 激情亚洲一区二区三区四区| 亚洲高清在线| 夜夜夜久久久| 欧美一区在线视频| 蜜臀91精品一区二区三区| 欧美福利一区二区三区| 欧美日韩国产影院| 国产精品嫩草影院av蜜臀| 国产欧美日韩一级| 尤妮丝一区二区裸体视频| 日韩视频中午一区| 久久成人av少妇免费| 久久琪琪电影院| 欧美日韩国产一级| 国产亚洲精品福利| 亚洲日韩视频| 欧美在线视频一区二区| 欧美精品1区2区| 国产丝袜一区二区三区| 在线观看日韩av电影| 亚洲一区999| 久久久久久9| 欧美日韩视频在线一区二区观看视频| 国产精品欧美日韩| 亚洲丰满在线| 亚洲欧美综合网| 欧美第一黄色网| 国产欧美精品va在线观看| 亚洲国产精品久久久久婷婷884| 宅男精品视频| 你懂的成人av| 国产综合香蕉五月婷在线| 一本久道久久综合狠狠爱| 久久激情五月激情| 国产精品大片wwwwww| 亚洲黄色毛片| 久久婷婷久久| 国产麻豆91精品| 一区二区日韩| 欧美国产1区2区| 一区二区三区亚洲| 欧美伊人精品成人久久综合97 | 久久99在线观看| 欧美人在线观看| 亚洲国产日日夜夜| 久久国产欧美精品| 国产精品免费福利| 亚洲一二三四区| 国产精品盗摄久久久| 亚洲免费av片| 欧美精品一区在线| 91久久精品一区| 你懂的视频一区二区| 激情五月***国产精品| 午夜精品久久久久久久蜜桃app| 欧美日一区二区三区在线观看国产免| 亚洲国产欧美在线人成| 另类春色校园亚洲| 亚洲二区视频| 欧美成人激情视频免费观看| 国产综合精品一区| 久久精品国产96久久久香蕉| 国产毛片精品国产一区二区三区| 亚洲在线视频观看| 国产精品一区亚洲| 欧美亚洲视频在线观看| 国精品一区二区| 久久久国产成人精品| 在线免费观看日韩欧美| 嫩草国产精品入口| 亚洲精品色婷婷福利天堂| 欧美激情一区二区三区在线| 9久re热视频在线精品| 欧美午夜视频在线| 午夜精品免费在线| 狠狠色丁香久久婷婷综合_中| 久久综合精品一区| 亚洲精品日日夜夜| 欧美午夜精品久久久久久超碰| 一二三区精品福利视频| 国产精品亚发布| 久久久久国产一区二区三区四区 | 一区二区三区精品久久久| 欧美天堂在线观看| 欧美一区二区黄| 亚洲国产精品久久| 国产精品久久久一区二区三区| 久久福利视频导航| 亚洲精品韩国| 国产日韩精品一区观看| 免费国产自线拍一欧美视频| 夜夜爽99久久国产综合精品女不卡| 国产精品推荐精品| 欧美xx69| 久久国产加勒比精品无码| 亚洲国产日韩欧美在线图片| 欧美午夜电影在线观看| 久久在线免费观看| 亚洲欧美久久| 亚洲精品一区二区三区婷婷月| 欧美三级在线| 麻豆91精品| 欧美亚洲综合网| 夜色激情一区二区| 一区二区三区在线看| 国产精品免费观看视频| 欧美岛国激情| 久久裸体视频| 性欧美video另类hd性玩具| 亚洲三级色网| 国产情人综合久久777777| 欧美日本成人| 免费国产一区二区| 欧美一区2区视频在线观看| 亚洲三级毛片| 国产一区二区在线免费观看| 国产真实乱子伦精品视频| 免费日韩av| 久久久久久亚洲精品中文字幕| 亚洲一区二区三区免费视频| 亚洲激情啪啪| 韩日成人在线| 国产主播一区二区三区四区| 国产麻豆午夜三级精品| 国产精品乱看| 国产精品福利久久久| 欧美午夜精品久久久久久孕妇| 欧美激情亚洲一区| 欧美a级片网| 欧美成人自拍|