一、ES6---面向对象上的简化

1.单个对象提供了2处简化:

1.1 如果对象的属性来自于对象外的变量,且变量名刚好和属性名相同。则不用写两遍相同的名字,

只要写一遍即可。

1.2 所有对象的方法,不再需要写“:function”

强调:对象中的方法去掉:function,就不等效于箭头函数。突出特点就是this保持原样不变!

所以,去掉:function,只是单纯的简写,没有任何原理的改变。

      var eid=1001;
        function intrSelf(){
            console.log(`我的编号是${this.eid}`);
        }
        var friends=["亮亮","然然","东东"];
        var eric={
            eid,// eid:eid,
            ename:"诶里克",
            intrSelf,// intrSelf:intrSelf
            friends,// friends:friends
            run(){ //:function(){
                console.log(`${this.ename}在奔跑`);
            }
        }
        console.log(eric);
        eric.intrSelf();
        eric.run();
 
二、class
      什么是:集中定义一种类型的所有对象统一属性结构和方法的程序结构
      为什么:每一种类型:Array Student Date都有两部分组成:构造函数+原型对象
       构造函数:负责定义所有子对象统一的属性结构,并且负责创建子对象。
       原型对象:负责保存所有子对象共有的属性值和方法。
但是,在ES5中,构造函数和原型对象是分开定义的。不符合"封装"的要求。
       何时:今后只要希望创建一种自定义类型时,都用class
       如何:3件事
               1.用class{}包裹构造函数和原型对象方法
               2.构造函数名提升为class名,所有构造函数,从此统一更名为constructor
               3.所有放在class中的函数,不需要加类型名.prototype前缀,自动就是保存在构造函数的原型对象中。
                如何使用class:用法和从前的构造函数完全一样!原型对象的原理依然保持不变。
   //1.用class{}包裹构造函数和原型对象方法
        class  Student{
            //2.构造函数名提升为class名,所有构造函数
            //更名为constructor
         constructor(sname,sage){
            this.sname=sname;
            this.sage=sage;
         }
        //3.所有原型对象方法,不用加类型名.prototype前缀!
        intrSelf=function(){
          console.log(`I'm ${this.sname},I'${this.sage}`);
         }
        run=function(){
          console.log(`${this.sname}开始奔跑....`);
         }
        } 
         var lilei=new Student("Li Lei",11);
         var hmm=new Student("Han Meimei",12);
         console.log(lilei);
         console.log(hmm);
         lilei.intrSelf();
         lilei.run();
         hmm.intrSelf();
         hmm.run();
 

ES6---面向对象上的简化的更多相关文章

  1. ES6——面向对象应用

    面向对象应用——React 特点:     1.组件化(模块化) --- class(一个组件就是一个class)     2.强依赖与JSX (JSX==babel==browser.js  是JS ...

  2. 【Java基础】面向对象上

    面向对象上 这一章主要涉及 Java 类及类的成员,包括属性.方法.构造器:代码块.内部类. 面向过程与面向对象 面向过程(Procedure Oriented Programming,POP)与面向 ...

  3. java第三节 面向对象(上)

    //第三讲 //面向对象(上) /* 理解面向对象的概念 面向过程 在一个结构体中定义窗体的大小,位置,颜色,背景等属性,对窗口操作的函数窗口本身的定义没有任何关系 如HideWindow, Move ...

  4. ES6面向对象 动态添加标签页

    HTML <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml&quo ...

  5. Java基础学习(三)—面向对象(上)

    一.理解面向对象       面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节:这种思想是将数据作为第一位,而方法或者说是 ...

  6. JS - ES5与ES6面向对象编程

    1.面向对象 1.1 两大编程思想 1.2 面向过程编程 POP(Process-oriented programming) 1.3 面向对象编程 OOP (Object Oriented Progr ...

  7. ES6 面向对象笔记

    JS面向对象两大编程思想 面向过程 面向对象 面向过程编程POP         面向过程就是分析出问题的需要步骤,然后用函数一步一步的实现,使用的时候一个一个调用就可以了 面向对象编程OOP     ...

  8. io.js入门(二)—— 所支持的ES6(上)

    io.js的官网上有专门介绍其所支持的ES6特性的页面(点我查看),上面介绍到,相比nodeJS,io.js已从根本上支持了新版V8引擎上所支持的ES6特性,无需再添加任何运行时标志(如 --harm ...

  9. python学习笔记六 初识面向对象上(基础篇)

    python面向对象   面向对象编程(Object-Oriented Programming )介绍   对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...

随机推荐

  1. php的echo 和 return的区别

    来源:https://blog.csdn.net/ljfphp/article/details/76718635 项目中碰到的问题,本来是想在控制器直接return $xml的($xml是一段xml格 ...

  2. ansible的剧本play(四)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA68AAAETCAYAAADZDzDOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjw

  3. [Inno Setup] 开机自启动

    [icons] Name: "{userstartup}\My Program"; Filename: "{app}\MyProg.exe"; Tasks:St ...

  4. java 中的fork join框架

    文章目录 ForkJoinPool ForkJoinWorkerThread ForkJoinTask 在ForkJoinPool中提交Task java 中的fork join框架 fork joi ...

  5. 在IBM Cloud中运行Fabric

    文章目录 打包智能合约 创建IBM Cloud services 创建fabric网络 创建org和相应的节点 创建order org和相应节点 创建和加入channel 导入智能合约 上篇文章我们讲 ...

  6. 你知道吗?iOS不少程序常传送装置信息给第三方

    2019独角兽企业重金招聘Python工程师标准>>> 华盛顿邮报( The Washington Post)与隐私程序开发商Disconnect共同进行的研究揭露,许多iOS程序其 ...

  7. 学会HTML就可以找工作了

    对编程小白来讲,想要学习门槛低,学习周期短,难度指数可忽略.短时间内可能找一份薪资不错编程相关工作,那就把HTML作为入门级语言吧. 网页设计师 (//upload-images.jianshu.io ...

  8. JavaWEB开发时FCKeditor类似office界面的ajax框架,加入后就能做界面类似office,能进行简单的文本编辑操作+配置手册...

    2019独角兽企业重金招聘Python工程师标准>>> FCKeditor是一款功能强大的开源在线文本编辑器(DHTML editor),它使你在web上可以使用类似微软Word 的 ...

  9. 数学--数论--HDU - 6322 打表找规律

    In number theory, Euler's totient function φ(n) counts the positive integers up to a given integer n ...

  10. 0x01-Linux常用文件处理命令

    0x01-Linux常用文件处理命令 摘要 文件可以说是占据了Linux系统半壁江山,那么,我们理所应当要认识文件,且还要懂得如何创建.查看文件(touch.cat命令).既然是使用Linux,当然是 ...