一、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. Ubuntu 搜索文件

    1.whereis 文件名 特点:快速,但是是模糊查找 例如: whereis php #会把php,php.ini,php.*所在的目录都找出来. 2.find / -name 文件名 特点:准确, ...

  2. 部署企业LNMP架构搭建bbs

    部署企业LNMP架构 1===============部署Nginx 2===============安装及部署Mysql数据库 3===============安装PHP解析环境 4======== ...

  3. 徐州I

    #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;++i) #defi ...

  4. FastReport.Net中使用列表和数组作为报表数据源

    大多数现代报告工具允许您使用几乎任何数据库,然而,并不是所有报表工具都能以一个数据源的列表或数组来工作.本文中将展示如何使用FastReport .Net报表工具来实现. 请注意以下重要几点: 清单中 ...

  5. 12c DG broker DMON自动重启过程分析

    一.知识点 1.强烈建议大家管理dataguard使用broker. 2.broker的日志要知道在哪里,会看日志是学习的第一步. 3.体系结构需要看官方文档. 二.测试过程 1.查看DMON进程 & ...

  6. 图论--差分约束--POJ 3159 Candies

    Language:Default Candies Time Limit: 1500MS   Memory Limit: 131072K Total Submissions: 43021   Accep ...

  7. 图论--Floyd总结

    Key word:     ①最短路     ②传递闭包:大小关系 数值关系 先后关系 联通关系     ③floyd变形     ④实现方式:插点发法     ⑤思想:动态规划 1.最短路: 最短路 ...

  8. win7乱码问题解决方法(cmd变小,plsql客户端乱码)

    1.点击控制面板:时钟.语言和区域:区域和语言:管理点击更改系统区域设置,选中英语(英国):重启 2.点击控制面板:时钟.语言和区域:区域和语言:管理点击更改系统区域设置,选中中文(简体,中国):重启 ...

  9. POJ3734(矩阵快速幂)

    \(假设现在到第i个积木\) \(红绿恰都是偶数a种方案,恰都是奇数为b种方案,一奇一偶为c种方案\) \(由此考虑i+1个积木的情况\) Ⅰ.一奇一偶的方案 \(如果第i层恰是奇数的情况,那么本次只 ...

  10. K - Leapin' Lizards HDU - 2732 网络流

    题目链接:https://vjudge.net/contest/299467#problem/K 这个题目从数据范围来看可以发现是网络流,怎么建图呢?这个其实不是特别难,主要是读题难. 这个建图就是把 ...