1.老版的面向对象:

 function User(name,pass){
this.name=name;
this.pass=pass;
}
User.prototype.showName=function(){//用原型加方法
console.log(this.name);
}
User.prototype.showPass=function(){//用原型加方法
console.log(this.pass);
}
var ul=new User("blue","123456");
ul.showName();//blue
ul.showPass();//

老版的问题:

(1)类和构造函数是一个问题;

(2)散开了,先写了一个函数,方法是后加进去的。

2.新版的面向对象

 class User{
constructor(name,pass){//作用相似于构造器
this.name=name;
this.pass=pass;
}
showName(){
console.log(this.name);
}
showPass(){
console.log(this.pass);
}
}
var ul=new User("red","7890");
ul.showName();//red
ul.showPass();//7890

(1)新增了class关键字,构造器和类分开了;

(2)class里直接加方法。

 3.老版的继承

 function User(name,pass){
this.name=name;
this.pass=pass;
}
User.prototype.showName=function(){//用原型加方法
console.log(this.name);
}
User.prototype.showPass=function(){//用原型加方法
console.log(this.pass);
}
//继承
function Vipuser(name,pass,level){
User.call(this,name,pass);
this.level=level;
15 }
16 Vipuser.prototype=new User();
17 Vipuser.prototype.constructor=Vipuser;
18 Vipuser.prototype.showLevel=function(){
console.log(this.level);
}
var v1=new Vipuser('blue','123456',3);
v1.showName();//blue
v1.showPass();//
v1.showLevel();//

 4.新版的继承

 class User{
constructor(name,pass){//作用相似于构造器
this.name=name;
this.pass=pass;
}
showName(){
console.log(this.name);
}
showPass(){
console.log(this.pass);
}
}
//继承
class Vipuser extends User{//extends关键字:继承父类
constructor(name,pass,level){
super(name,pass);//执行父类的构造函数
this.level=level;
}
showLevel(){
console.log(this.level);
}
}
var v1=new Vipuser('blue','123456',3);
v1.showName();
v1.showPass();
v1.showLevel();

 5.面向对象的应用-React

React:

(1)组件化——class

(2)强依赖于jsx(也就是babel,browser.js)

 class Test extends React.Component{
  constructor(...args){//继承组件所有的属性
    super(...args);
}
render(){
    return <li>{{this.prop.str}}</li>
  }
8 }
window.onLoad=function(){
  let oDiv=document.getElementById('div1');
  ReactDom.render(
    <ul>
      <Test str='asd'></Test>
      <Test str='fgh'></Test>
    </ul>
    oDiv
  );
}

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

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

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

  2. ES6——面向对象应用

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

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

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

  4. ES6 面向对象笔记

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

  5. ES6面向对象实现tab栏切换效果

    面向对象实现tab栏切换效果

  6. ES6——面向对象-基础

    面向对象原来写法 类和构造函数一样 属性和方法分开写的 // 老版本 function User(name, pass) { this.name = name this.pass = pass } U ...

  7. es6面向对象

    <script> class user{ constructor(name,age){ this.name=name; this.age=age; } showName(){ alert( ...

  8. es6 面向对象选项卡(自动轮播功能)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 粗看ES6之面向对象写法

    标签: es6 在es6以前,js没有类的概念,虽然有构造函数原型的方式用来做面向对向开发,但是对于书法并不是十分友好,而且对于继承实现也不是十分友好. es6引入class constructor ...

  10. ES6新增语法(四)——面向对象

    ES6中json的2个变化 简写:名字和值相同时,json可以可以简写 let a=12,b=5; let json = { a, b } console.log(json) // { a:12 , ...

随机推荐

  1. JS高阶---语句分号相关

    [总结] 小括号和中括号开头的在其前必须加封号: [主体] 首先搜索下 [主体] (1)讨论---编码风格问题 (2)什么情况必须用封号? 1.其后跟着匿名式函数调用 此时可以在匿名函数前加:如下所示 ...

  2. 201871010112-梁丽珍《面向对象程序设计(java)》第十四周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  3. 201871010105-曹玉中《面向对象程序设计(java)》第十周学习总结

    201871010105-曹玉中<面向对象程序设计(java)>第十周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...

  4. day6_面向对象的概念

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/7/11 16:20 # @Author : 大坏男孩 # @File : d ...

  5. 【转】Spring全家桶

    Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶.它包括SpringMVC.SpringBoot.Spring Cloud.Spring Cloud Dataflo ...

  6. python 环境搭建 python-3.4.4

    第一步:下载和安装python-3.4.4amd.msi 可以去官方网站下载,也可以从网盘下载: 链接:https://pan.baidu.com/s/1dZ9ibgigKPdPUJgykLA_jg ...

  7. 【oracle】lpad函数 作用(填充)

  8. Linux性能优化实战学习笔记:第五十七讲

    一.上节回顾 上一节,我带你一起梳理了常见的性能优化思路,先简单回顾一下.我们可以从系统和应用程序两个角度,来进行性能优化. 从系统的角度来说,主要是对 CPU.内存.网络.磁盘 I/O 以及内核软件 ...

  9. IDEA中把普通的Java项目转换成gradle项目

    1.在该项目的跟目录下创建build.gradle 和 settings.gradle文件,内容如下: build.gradle: plugins { id 'java' } group 'coco' ...

  10. Spring Boot 知识笔记(整合Redis)

    一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...