成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

es6 知識(shí)總結(jié)--4

MkkHou / 1589人閱讀

摘要:函數(shù)中使用關(guān)鍵詞定義構(gòu)造函數(shù)的的方法和屬性上面代碼首先用定義了一個(gè)類,可以看到里面有一個(gè)方法,這就是構(gòu)造方法,而關(guān)鍵字則代表實(shí)例對(duì)象。這是因?yàn)樽宇悰](méi)有自己的對(duì)象,而是繼承父類的對(duì)象,然后對(duì)其進(jìn)行加工。

ES6 classes(類)

我們?cè)诰幊踢^(guò)程中常常用到面向?qū)ο?,?duì)象創(chuàng)建實(shí)例這個(gè)方法,但是es6中給我封裝了一個(gè)class類
下邊給大家介紹一下!

Ecmascript5方法
//萬(wàn)事萬(wàn)物皆對(duì)象
        //1.類是由對(duì)象(抽象)泛化出來(lái)的
        //2.對(duì)象是由類創(chuàng)建出來(lái)的
        //3.對(duì)象叫類的具體實(shí)例
        function Person(name,age){
            this.name=name,
            this.age=age
        }
        Person.prototype.run=function(){
            console.log(this.name+" 我會(huì)跑")
        }

        var weiwei=new Person("weiwei",21);
        console.log(weiwei)
        
        function SuperMan(name,age,sex,body){
            //Person.apply(this,arguments);//繼承了父類的屬性
            Person.call(this,name,age,sex)//apply 傳進(jìn)來(lái)的是數(shù)組集合,call傳進(jìn)來(lái)的是數(shù)組

            //自己的屬性
            this.body=body;
        }


        SuperMan.prototype=Object.create(Person.prototype);//繼承了父類的方法

        //自己的方法    多態(tài)
        SuperMan.prototype.fly=function(){
            console.log("我會(huì)飛");
        }
        var chaoren=new SuperMan("大剛",24,"男","大")
es6方法

ES6 中有 class 語(yǔ)法。值得注意是,這里的 class 不是新的對(duì)象繼承模型,它只是原型鏈的語(yǔ)法糖表現(xiàn)形式。

//1.es6提供了類來(lái)創(chuàng)建面向?qū)ο缶幊?        class Student{
            constructor(name,age){
                this.name=name;
                this.age=age;
                }
                run(){
                    console.log(this.name+" 跑啊跑")
                }
        }
       
        class SuperMan extends Student{
            constructor(name,age,xh){
                super(name,age);  //同上call
                this.xh=xh;
            }
            eat(obejectName){
                    console.log(this.name+" 喜歡吃"+obejectName)
                }
            get  xm(){
                return this.name
            }
            set  xm(value){
                //console.log(value)      //設(shè)置xm屬性
                this.name=value;
            }
            static shangxue(){
                console.log("快快上學(xué)去");   //類的方法(只能類用),靜態(tài)方法,對(duì)象實(shí)例不能用
            }
        }   
        let student1 = new Student("咪咪",18);
        let student2 = new SuperMan("小明",21,007)
        student2.eat("蘋果");  
         //set  get  方法  
        console.log(student2.xm)    //get  調(diào)用方法不用括號(hào)();  get獲取
        student2.xm="小紅"
        console.log(student2.xm)
       // student2.shangxue()
        SuperMan.shangxue();

函數(shù)中使用 static 關(guān)鍵詞定義構(gòu)造函數(shù)的的方法和屬性:
ES6 中有 class 語(yǔ)法。值得注意是,這里的 class 不是新的對(duì)象繼承模型,它只是原型鏈的語(yǔ)法糖表現(xiàn)形式。

函數(shù)中使用 static 關(guān)鍵詞定義構(gòu)造函數(shù)的的方法和屬性

上面代碼首先用class定義了一個(gè)“類”,可以看到里面有一個(gè)constructor方法,這就是構(gòu)造方法,而this關(guān)鍵字則代表實(shí)例對(duì)象。簡(jiǎn)單地說(shuō),constructor內(nèi)定義的方法和屬性是實(shí)例對(duì)象自己的,而constructor外定義的方法和屬性則是所有實(shí)例對(duì)象可以共享的。

Class之間可以通過(guò)extends關(guān)鍵字實(shí)現(xiàn)繼承,這比ES5的通過(guò)修改原型鏈實(shí)現(xiàn)繼承,要清晰和方便很多。上面定義了一個(gè)Cat類,該類通過(guò)extends關(guān)鍵字,繼承了Animal類的所有屬性和方法。

super關(guān)鍵字,它指代父類的實(shí)例(即父類的this對(duì)象)。子類必須在constructor方法中調(diào)用super方法,否則新建實(shí)例時(shí)會(huì)報(bào)錯(cuò)。這是因?yàn)樽宇悰](méi)有自己的this對(duì)象,而是繼承父類的this對(duì)象,然后對(duì)其進(jìn)行加工。如果不調(diào)用super方法,子類就得不到this對(duì)象。

關(guān)鍵字 class, extends, super

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84092.html

相關(guān)文章

  • es6 知識(shí)總結(jié)--3

    es6知識(shí)總結(jié)--3 上午發(fā)表了一個(gè)總結(jié)覺(jué)得還是把自己的了解做成一個(gè)小系列吧,明天把那個(gè)總結(jié)一下! es6對(duì)咱們es3,es5的數(shù)據(jù)類型進(jìn)行了升級(jí)下邊說(shuō)新APIs!js數(shù)據(jù)類型有Number、String 、oject、Boolean、Null、Undefined六種數(shù)據(jù)類型 ! 下邊介紹 Math、Number、String 、Array、Boject的新 APIs Math Number S...

    Keagan 評(píng)論0 收藏0
  • es6知識(shí)點(diǎn)總結(jié)(一)

    摘要:知識(shí)點(diǎn)總結(jié)一,,能重復(fù)聲明,有前置功能。淺拷貝一個(gè)數(shù)組設(shè)置原型。永遠(yuǎn)是唯一的,不可能和別的重復(fù),可以阻止對(duì)象的屬性被篡改前面不能使用操作符。和的區(qū)別鍵名可以是任何數(shù)據(jù)類型初始化的時(shí)候必須一次性指定鍵名和鍵值。 es6知識(shí)點(diǎn)總結(jié)(一) let,var,const var:能重復(fù)聲明,有前置功能。 let:有塊級(jí)作用域,沒(méi)有前置功能,不能重復(fù)聲明。 const:有塊級(jí)作用域,用來(lái)聲明常量(...

    HelKyle 評(píng)論0 收藏0
  • 新手開發(fā)中常用ES6基礎(chǔ)知識(shí)總結(jié)

    摘要:感覺(jué)對(duì)我這種沒(méi)實(shí)習(xí)沒(méi)工作的新手,雖然一些高級(jí)的功能暫時(shí)用不上,但是一些基礎(chǔ)的知識(shí)還是為平時(shí)的開發(fā)提供了巨大的便利。學(xué)習(xí)告一段落,現(xiàn)在結(jié)合平時(shí)的開發(fā),總結(jié)一些常用的知識(shí)。日常開發(fā)中,塊級(jí)作用域中使用的變量,盡量使用或者聲明。使用時(shí),進(jìn)行合并。 很早之前就學(xué)過(guò)TypeScript和ES6,后來(lái)做項(xiàng)目的時(shí)候零零散散用了些。這幾天又系統(tǒng)地把ES6的知識(shí)看了一遍。感覺(jué)對(duì)我這種沒(méi)實(shí)習(xí)沒(méi)工作的新手,...

    Paul_King 評(píng)論0 收藏0
  • ES6 常用知識(shí)點(diǎn)總結(jié)

    摘要:常用知識(shí)總結(jié)之前總結(jié)了中的一些知識(shí)點(diǎn)。在年正式發(fā)布了,簡(jiǎn)稱,又稱為。作為構(gòu)造函數(shù)的語(yǔ)法糖,同時(shí)有屬性和屬性,因此同時(shí)存在兩條繼承鏈。子類的屬性,表示構(gòu)造函數(shù)的繼承,總是指向父類。 ES6常用知識(shí)總結(jié) 之前總結(jié)了es5中js的一些知識(shí)點(diǎn)。這段時(shí)間看了石川blue老師講解的es6課程,結(jié)合阮一峰老師的es6教程,隨手做了一些筆記和總結(jié)分享給大家。內(nèi)容還是es6主要的知識(shí)點(diǎn),基本沒(méi)有什么創(chuàng)新...

    leap_frog 評(píng)論0 收藏0
  • ES6 常用知識(shí)點(diǎn)總結(jié)

    摘要:常用知識(shí)總結(jié)之前總結(jié)了中的一些知識(shí)點(diǎn)。在年正式發(fā)布了,簡(jiǎn)稱,又稱為。作為構(gòu)造函數(shù)的語(yǔ)法糖,同時(shí)有屬性和屬性,因此同時(shí)存在兩條繼承鏈。子類的屬性,表示構(gòu)造函數(shù)的繼承,總是指向父類。 ES6常用知識(shí)總結(jié) 之前總結(jié)了es5中js的一些知識(shí)點(diǎn)。這段時(shí)間看了石川blue老師講解的es6課程,結(jié)合阮一峰老師的es6教程,隨手做了一些筆記和總結(jié)分享給大家。內(nèi)容還是es6主要的知識(shí)點(diǎn),基本沒(méi)有什么創(chuàng)新...

    CODING 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<