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. C++和C的相互调用

    C++和C相互调用实际工程中C++和C代码相互调用是不可避免的C++编译器能够兼容C语言的编译方式C++编译器会优先使用C++编译的方式extern关键字能强制让C++编译器进行C方式的编译 exte ...

  2. day24_7.30 反射与元类

    一.反射 在python中,反射通常是指一个对象应该具备,可以检测修复,增加自身属性的能力. 而反射可以通过字符串对其进行操作. 其中涉及了4个函数,是四个普通 的函数: hasattr(oop,st ...

  3. c语言命名规范图

    来自armbbs

  4. 利用Tengine在树莓派上跑深度学习网络

    树莓派是国内比较流行的一款卡片式计算机,但是受限于其硬件配置,用树莓派玩深度学习似乎有些艰难.最近OPENAI为嵌入式设备推出了一款AI框架Tengine,其对于配置的要求相比传统框架降低了很多,我尝 ...

  5. TP5导入EXCEL到数据库

    前期准备工作: 1.下载PHPExcel放到vendor下 2.前端页面: <form action="save" method="post" encty ...

  6. T430 Linux Setting Memo

    touchpad:xinput listxinput --disable 11 dns setting:/etc/resolv.conf vpn:@Darkduck19XX yum-config-ma ...

  7. [THUPC2018]生生不息(???)

    SB题,写来放松身心. 首先 $n,m\le 5$,这是可以打表的. 本地怎么对于一个 $n,m$ 求答案?此时虽然复杂度不需要太优,但是还是得够快. 一个想法是枚举每个初始状态,不停模拟.因为总状态 ...

  8. MySQL实战45讲学习笔记:第八讲

    一.今日内容概要 我在第 3 篇文章和你讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事 ...

  9. python实现的WebSocket客户端

    code #coding=utf- import json import time from websocket import create_connection ws = create_connec ...

  10. 多模态数据联合Embedding的方法小结

    当模型需要接受多个模态的数据时,往往需要设计合适的方法让他们能进行信息的融合,Joint embedding是一种较为普遍的思路,即将他们映射到同一个向量空间中,再进行融合. 向量拼接.元素级相乘.做 ...