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

深入淺析JavaScript中的constructor

 更新時(shí)間:2016年04月19日 15:39:27   作者:yansj1997  
constructor 屬性返回對(duì)創(chuàng)建此對(duì)象的數(shù)組函數(shù)的引用。本文給大家介紹JavaScript中的constructor ,需要的朋友參考下吧

定義和用法

constructor 屬性返回對(duì)創(chuàng)建此對(duì)象的數(shù)組函數(shù)的引用。

語法

object.constructor

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

這里有一點(diǎn)需要注意的是,每個(gè)函數(shù)都有一個(gè)prototype屬性,這個(gè)prototype的constructor指向這個(gè)函數(shù),這個(gè)時(shí)候我們修改這個(gè)函數(shù)的prototype時(shí),就發(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本身也是對(duì)象,上面的代碼等價(jià)于

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

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

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

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

以上所述是小編給大家介紹的JavaScript中的constructor ,希望對(duì)大家有所幫助!

相關(guān)文章

  • js防抖-節(jié)流函數(shù)的基本實(shí)現(xiàn)和補(bǔ)充詳解

    js防抖-節(jié)流函數(shù)的基本實(shí)現(xiàn)和補(bǔ)充詳解

    這篇文章主要介紹了防抖-節(jié)流函數(shù)的基本實(shí)現(xiàn)和補(bǔ)充,文章從基礎(chǔ)概念到手寫對(duì)防抖-節(jié)流函數(shù)的實(shí)現(xiàn)進(jìn)行講解,內(nèi)容詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-01-01
  • JavaScript設(shè)計(jì)模型Iterator實(shí)例解析

    JavaScript設(shè)計(jì)模型Iterator實(shí)例解析

    這篇文章主要介紹了JavaScript設(shè)計(jì)模型Iterator實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • HTML5實(shí)現(xiàn)微信拍攝上傳照片功能

    HTML5實(shí)現(xiàn)微信拍攝上傳照片功能

    這篇文章主要介紹了HTML5實(shí)現(xiàn)微信拍攝上傳照片功能,實(shí)現(xiàn)HTML5 Canvas手機(jī)拍攝,本地壓縮上傳圖片時(shí)遇到問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • JS對(duì)象的深度克隆方法示例

    JS對(duì)象的深度克隆方法示例

    這篇文章主要介紹了JS對(duì)象的深度克隆方法,結(jié)合實(shí)例形式分析了JavaScript深度克隆的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-03-03
  • 微信小程序頂部導(dǎo)航欄可滑動(dòng)并選中放大

    微信小程序頂部導(dǎo)航欄可滑動(dòng)并選中放大

    這篇文章主要介紹了微信小程序頂部導(dǎo)航欄可滑動(dòng)并選中放大,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • JS typeof fn === ''function'' && fn()詳解

    JS typeof fn === ''function'' && fn()詳解

    最近在學(xué)習(xí)js的時(shí)候發(fā)現(xiàn)很多人都喜歡在JS 中存在fn && fn() 執(zhí)行語句或者typeof fn === 'function' && fn(),下面這篇文章就為大家分享一下
    2020-08-08
  • 微信小程序錄音實(shí)現(xiàn)功能并上傳(使用node解析接收)

    微信小程序錄音實(shí)現(xiàn)功能并上傳(使用node解析接收)

    在我們的日常開發(fā)中經(jīng)常會(huì)遇到錄音功能,并上傳到服務(wù)器,今天小編給大家分享微信小程序錄音功能實(shí)現(xiàn)并上傳錄音文件,使用node解析接收,需要的朋友可以參考下
    2020-02-02
  • 幫你徹底搞懂JS中的prototype、__proto__與constructor(圖解)

    幫你徹底搞懂JS中的prototype、__proto__與constructor(圖解)

    這篇文章主要介紹了詳解幫你徹底搞懂JS中的prototype、__proto__與constructor(圖解),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 兩個(gè)比較有用的Javascript工具函數(shù)代碼

    兩個(gè)比較有用的Javascript工具函數(shù)代碼

    下面我的base.js中的extend函數(shù)可以允許用json格式賦值屬性甚至是函數(shù)句柄
    2010-02-02
  • JS關(guān)于?replace?取值、替換第幾個(gè)匹配項(xiàng)問題小結(jié)

    JS關(guān)于?replace?取值、替換第幾個(gè)匹配項(xiàng)問題小結(jié)

    這篇文章主要介紹了JS關(guān)于replace取值、替換第幾個(gè)匹配項(xiàng),本文針對(duì)字符串的替換、截取知識(shí)點(diǎn)做詳細(xì)介紹,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05

最新評(píng)論

鄂托克旗| 临夏市| 樟树市| 巴林左旗| 元谋县| 洮南市| 宣城市| 安康市| 明水县| 汝城县| 公安县| 广水市| 陆丰市| 新乡市| 长乐市| 神池县| 高邑县| 靖边县| 定日县| 伊吾县| 丰原市| 宽甸| 合水县| 阳山县| 吉安市| 金门县| 高清| 本溪| 西峡县| 临朐县| 汝阳县| 成安县| 信宜市| 丹阳市| 环江| 鹤壁市| 伽师县| 新化县| 沧州市| 宜春市| 元谋县|