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

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

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

首先聲明:javascript中每個對象都有一個constructor屬性和一個prototype屬性。constructor指向對象的構造函數,prototype指向使用構造函數創建的對象實例的原型對象。

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。根據javascript高級程序設計第二版的解釋,是因為重寫的原型切斷了構造函數與最初原型之間的聯系。但是我們調整一下上面語句的順序。如下:

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() {} 取決與藍色的語句是否有效 

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

Person.prototype = {} 

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

現在有這樣的假設:函數的prototype屬性所指向的原型對象,與我們顯示新建的原型對象并不是完全等同的。當我們調用函數的時候會創建一個原型對象,此時會首先查找當前環境中是否存在其原型對象,如果程序中不存在,就創建一個,如果環境中存在,側查找他們的屬性和方法,最后根據查找的結果返回一個原型對象,這個對象中的屬性和方法總是優先使用默認原型中的屬性和方法,也就是構造函數中定義的屬性和方法。當當調用的方法或屬性不存在于默認的原型中時,才使用定義在Person.prototype = {} 的屬性和方法。

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

再看下面的一段程序:

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

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

實例不能訪問到原型對象中的屬性和方法,不僅僅是因為重寫原型對象切斷了構造函數與最初原型之間的聯系。

function Person(){  

  }  

var person = new Person();  

Person.prototype = {  

  //constructor : Person,  

  name : 'zxs',  

  age : 24,  

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

  }  

person.sayName();  

以上代碼在實例化對象時構造函數的原型為空,它沒有任何除默認屬性以外的屬性。重寫構造函數的原型確實切斷了構造函數與最初原型之間的聯系。

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

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

var o = { 

  name : 'zxs'

  } 

var obj = o; 

o = {} 

console.log(o.name);  

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

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

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

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

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美高清自拍一区| 国产精品黄色| 久久久99精品免费观看不卡| 亚洲欧美成人在线| 欧美日韩麻豆| 国产精品福利久久久| 国产日韩欧美一区二区三区在线观看| 国产在线观看91精品一区| 91久久精品日日躁夜夜躁国产| 日韩午夜激情电影| 精品91免费| 亚洲一级片在线观看| 亚洲少妇诱惑| 久久久成人精品| 国产一区二区三区在线观看免费| 亚洲图片欧洲图片av| 欧美午夜不卡在线观看免费 | 欧美性开放视频| 欧美精品免费视频| 国产一区二区三区奇米久涩 | 裸体歌舞表演一区二区| 欧美日韩午夜剧场| 91久久久一线二线三线品牌| 看片网站欧美日韩| 中国成人亚色综合网站| 欧美日韩国产大片| 欧美一区二区三区在线看 | 亚洲自拍电影| 亚洲综合精品| 久久精品国产清高在天天线| 亚洲一区二区三区中文字幕| 亚洲免费成人av| 日韩视频久久| 亚洲视频在线看| 午夜一级久久| 久久亚洲欧洲| 欧美视频在线看| 国产午夜精品久久久| 久久久久青草大香线综合精品| 久久国产一二区| 久久国产精品一区二区三区四区 | 亚洲性线免费观看视频成熟| 国产精品久久久免费| 国产日韩在线一区二区三区| 在线观看三级视频欧美| 日韩午夜剧场| 久久久久久久久岛国免费| 欧美福利在线观看| 国产香蕉97碰碰久久人人| 91久久在线观看| 欧美一级网站| 国产精品主播| 在线视频欧美精品| 欧美成人午夜免费视在线看片 | 欧美女人交a| 在线观看亚洲视频啊啊啊啊| 亚洲在线中文字幕| 欧美日韩午夜剧场| 在线一区亚洲| 欧美三级乱人伦电影| 亚洲黑丝一区二区| 久久乐国产精品| 国产一区二区三区无遮挡| 亚洲小少妇裸体bbw| 欧美日韩国产一区| 99精品视频免费| 欧美日韩三区| 亚洲在线观看| 国内不卡一区二区三区| 久久人人97超碰精品888| 亚洲第一级黄色片| 亚洲国产精品福利| 欧美插天视频在线播放| 国产精品美女久久| 久久免费视频一区| 国产精品国产成人国产三级| 亚洲视频在线观看| 欧美一区二区三区喷汁尤物| 国产精品中文在线| 久久动漫亚洲| 日韩午夜在线观看视频| 欧美巨乳在线| 久久精品国产第一区二区三区| 欧美成人精品| 欧美亚洲自偷自偷| 国产日韩欧美自拍| 欧美视频在线不卡| 免费成人av在线| 午夜精品美女自拍福到在线 | 欧美视频第二页| 一区二区三区欧美成人| 日韩视频免费在线观看| 免费久久精品视频| 宅男在线国产精品| 国产一区二区高清不卡| 欧美日韩久久精品| 欧美成人视屏| 久久成人亚洲| 亚洲欧美日韩精品久久奇米色影视| 亚洲国产欧美日韩| 亚洲国产高清aⅴ视频| 国产精品五区| 国产欧美日本| 国内外成人免费激情在线视频网站| 国产精品久久久久久久久久免费看 | 影音先锋亚洲电影| 国产亚洲午夜高清国产拍精品| 欧美午夜精品一区二区三区| 欧美三级资源在线| 欧美午夜在线| 亚洲福利视频一区二区| 国产婷婷一区二区| 国产一区二区精品| 在线欧美不卡| 99精品视频网| 亚洲欧美国产毛片在线| 亚洲欧美伊人| 国产精品分类| 国产精品久久久久久久久动漫| 国产精品一区在线播放| 韩国福利一区| 亚洲伦理自拍| 另类亚洲自拍| 欧美日韩国产在线播放| 国产精品手机在线| 亚洲福利在线观看| 欧美日韩福利在线观看| 国产精品va在线| 1000部国产精品成人观看| 正在播放欧美视频| 欧美精品偷拍| 狠狠色丁香久久婷婷综合_中| 国产无遮挡一区二区三区毛片日本| 国产日韩欧美在线看| 亚洲视频视频在线| 欧美精品成人一区二区在线观看| 国产日韩欧美黄色| 午夜精品久久久久| 国产精品看片你懂得| 一区二区欧美日韩视频| 国产精品xxxxx| 亚洲无线一线二线三线区别av| 在线日韩欧美| 免费亚洲视频| 亚洲人成啪啪网站| 亚洲国产精品999| 免费观看不卡av| 亚洲人成网站777色婷婷| 欧美日韩国产综合网| 一区二区三区欧美日韩| 欧美日韩在线一区二区| 亚洲性视频网址| 国产色婷婷国产综合在线理论片a| 蜜臀va亚洲va欧美va天堂| 欧美看片网站| 99精品热视频只有精品10| 国产精品扒开腿做爽爽爽软件| 亚洲在线观看视频| 国产日韩欧美在线看| 欧美99久久| 亚洲欧美另类在线| 在线电影国产精品| 国产精品mv在线观看| 久久久久久免费| 亚洲综合清纯丝袜自拍| 在线看片成人| 国产一区二区三区久久 | 久久国产精品72免费观看| 欧美日韩精品在线观看| 狠狠色综合播放一区二区| 国内精品美女av在线播放| 亚洲欧美精品伊人久久| 乱人伦精品视频在线观看| 欧美精品色网| 一区二区三区在线高清| 在线一区欧美| 蜜臀a∨国产成人精品| 欧美日韩午夜在线| 亚洲国产婷婷香蕉久久久久久| 亚洲国产一区二区三区青草影视| 亚洲国产精品第一区二区| 亚洲综合首页| 国产日韩一区欧美| 亚洲一区二区三区乱码aⅴ| 欧美成人日本| 亚洲一区二区三区精品动漫| 国产乱码精品一区二区三| 国内久久视频| 欧美成人精品h版在线观看| 在线视频欧美一区| 欧美性视频网站| 亚洲欧洲日本mm| 国际精品欧美精品| 亚洲黄色尤物视频| 国产一区二区日韩精品欧美精品| 欧美日韩国产丝袜另类| 欧美日韩大片| 国产一区二区三区四区五区美女 | 狠狠爱综合网| 国产目拍亚洲精品99久久精品|