最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談javascript中的constructor

 更新時間:2016年06月08日 16:45:50   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談javascript中的constructor。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

constructor,構(gòu)造函數(shù),對這個名字,我們都不陌生,constructor始終指向創(chuàng)建當(dāng)前對象的構(gòu)造函數(shù)。

這里有一點(diǎn)需要注意的是,每個函數(shù)都有一個prototype屬性,這個prototype的constructor指向這個函數(shù),這個時候我們修改這個函數(shù)的prototype時,就發(fā)生了意外。如

function Person(name,age){
  this.name = name;
  this.age = age;
}

Person.prototype.getAge = function(){
  return this.age;
}
Person.prototype.getName = function(){
  return this.name;
}

var p = new Person("Nicholas",18);
console.log(p.constructor); //Person(name, age)
console.log(p.getAge()); //18
console.log(p.getName()); //Nicholas

但是如果是這樣:

function Person(name,age){
  this.name = name;
  this.age = age;
}

Person.prototype = {
  getName:function(){
    return this.name;
  },
  getAge:function(){
    return this.age;
  }
}

var p = new Person("Nicholas",18);
console.log(p.constructor); //Object()
console.log(p.getAge()); //18
console.log(p.getName()); //Nicholas

結(jié)果constructor變了。

 原因就是prototype本身也是對象,上面的代碼等價于

Person.prototype = new Object({
  getName:function(){
    return this.name;
  },
  getAge:function(){
    return this.age;
  }
});

因?yàn)閏onstructor始終指向創(chuàng)建當(dāng)前對象的構(gòu)造函數(shù),那么就不難理解上面代碼p.constructor輸出的是Object了。

對于修改了prototype之后的constructor還想讓它指向Person怎么辦呢?簡單,直接給Person.prototype.constructor賦值就可以了:

Person.prototype = {
  constructor:Person,
  getName:function(){
    return this.name;
  },
  getAge:function(){
    return this.age;
  }
}

以上這篇淺談javascript中的constructor就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Js刪除數(shù)組中某一項(xiàng)或幾項(xiàng)的幾種方法(推薦)

    Js刪除數(shù)組中某一項(xiàng)或幾項(xiàng)的幾種方法(推薦)

    下面小編就為大家?guī)硪黄狫s刪除數(shù)組中某一項(xiàng)或幾項(xiàng)的幾種方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • js基石系列學(xué)習(xí)之錯誤類型

    js基石系列學(xué)習(xí)之錯誤類型

    這篇文章主要為大家介紹了js基石系列學(xué)習(xí)之錯誤類型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • DOM相關(guān)內(nèi)容速查手冊

    DOM相關(guān)內(nèi)容速查手冊

    DOM相關(guān)內(nèi)容速查手冊...
    2007-02-02
  • 了解javascript中的Dom操作

    了解javascript中的Dom操作

    DOM 給我們提供了一些方法,讓我們可以使用js來控制頁面中的標(biāo)簽等。下面小編和大家來一起學(xué)習(xí)下吧
    2019-05-05
  • 網(wǎng)頁中CDATA標(biāo)記的說明

    網(wǎng)頁中CDATA標(biāo)記的說明

    經(jīng)常在網(wǎng)頁html代碼中看見這樣的嵌入標(biāo)簽,但實(shí)際使用沒有用過,特此在記錄下。
    2010-09-09
  • 實(shí)例講解JavaScript中的this指向錯誤解決方法

    實(shí)例講解JavaScript中的this指向錯誤解決方法

    JavaScript中this指向的處理是令大家普遍頭疼的問題,這里我們舉一個實(shí)例講解JavaScript中的this指向錯誤解決方法,需要的朋友可以參考下
    2016-06-06
  • 淺談JS閉包中的循環(huán)綁定處理程序

    淺談JS閉包中的循環(huán)綁定處理程序

    初學(xué)者經(jīng)常碰到的,即獲取HTML元素集合,循環(huán)給元素添加事件。在事件響應(yīng)函數(shù)中(event handler)獲取對應(yīng)的索引。但每次獲取的都是最后一次循環(huán)的索引。原因是初學(xué)者并未理解JavaScript的閉包特性。
    2014-11-11
  • javaScript知識點(diǎn)總結(jié)(必看篇)

    javaScript知識點(diǎn)總結(jié)(必看篇)

    下面小編就為大家?guī)硪黄猨avaScript知識點(diǎn)總結(jié)(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享 給大家,也給的大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • php中and 和 &&出坑指南

    php中and 和 &&出坑指南

    在邏輯運(yùn)算符中,提到與和或,我們可能立刻想到的是&&、||,在php中還有and、or.然而and和or中有一個小小的坑,今天我們就來探討下php中and 和 &&
    2018-07-07
  • 關(guān)于JavaScript的變量的數(shù)據(jù)類型的判斷方法

    關(guān)于JavaScript的變量的數(shù)據(jù)類型的判斷方法

    這篇文章主要介紹了關(guān)于JavaScript的變量的數(shù)據(jù)類型的判斷方法,JS是一種弱類型語言,其數(shù)據(jù)類型的相關(guān)特性有時也受到不少開發(fā)者的詬病,需要的朋友可以參考下
    2015-08-08

最新評論

邵东县| 保康县| 公安县| 玉环县| 青州市| 东明县| 竹溪县| 尼勒克县| 双城市| 红桥区| 容城县| 辽阳县| 怀集县| 定陶县| 永济市| 谢通门县| 阿克苏市| 天水市| 泸定县| 新巴尔虎右旗| 南丹县| 双牌县| 图木舒克市| 宁河县| 衡阳县| 隆德县| 漳平市| 古浪县| 高邮市| 砚山县| 新余市| 漾濞| 宿州市| 盐山县| 巴东县| 沈阳市| 铜鼓县| 潼关县| 西乌珠穆沁旗| 朔州市| 宣恩县|