第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

實(shí)現(xiàn)一個(gè)可以繼承 Array 的構(gòu)造函數(shù)可行嗎?

實(shí)現(xiàn)一個(gè)可以繼承 Array 的構(gòu)造函數(shù)可行嗎?

qq_遁去的一_1 2018-12-27 22:15:40
偽代碼如下:var Constructor = function(arr) {    // 在這里對(duì)傳入的數(shù)組進(jìn)行處理}var $ = function(arr) {    return new Constructor(arr);}Constructor.prototype = Object.create(Array.prototype);Constructor.prototype.add = function(item) { ... }我預(yù)期的結(jié)果是:$(arr) 作為 Constructor 的實(shí)例可以調(diào)用自定義的 add() 方法,也可以調(diào)用 Array.prototype 上的數(shù)組的原生方法。主要是不希望直接在 Array.prototype 上定義 add() 方法。arr = [1, 2, 3] 本來(lái)是 Array 的實(shí)例,但是我希望在 arr 和 Array 中間添加一個(gè)構(gòu)造函數(shù),即 arr 的原型鏈為 Constructor.prototype ==> Array.prototype我準(zhǔn)備用上面?zhèn)未a的方式實(shí)現(xiàn),但是 Constructor 內(nèi)部不知道怎么處理,或者這種思路根本就是錯(cuò)的,各位大神不要被偽代碼影響。請(qǐng)問(wèn)可以實(shí)現(xiàn)這種功能嗎?如果可以,怎么實(shí)現(xiàn)?
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

class Constructor extends Array {

    constructor() {

        super();

    }

    

    add(item) {

      // TODO: override add method

    }

}


var $ = arr => new Constructor().concat(arr);


查看完整回答
反對(duì) 回復(fù) 2019-01-08
  • 1 回答
  • 0 關(guān)注
  • 385 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)