ES6-面向对象
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-面向对象的更多相关文章
- ES6面向对象 动态添加标签页
HTML <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml&quo ...
- ES6——面向对象应用
面向对象应用——React 特点: 1.组件化(模块化) --- class(一个组件就是一个class) 2.强依赖与JSX (JSX==babel==browser.js 是JS ...
- JS - ES5与ES6面向对象编程
1.面向对象 1.1 两大编程思想 1.2 面向过程编程 POP(Process-oriented programming) 1.3 面向对象编程 OOP (Object Oriented Progr ...
- ES6 面向对象笔记
JS面向对象两大编程思想 面向过程 面向对象 面向过程编程POP 面向过程就是分析出问题的需要步骤,然后用函数一步一步的实现,使用的时候一个一个调用就可以了 面向对象编程OOP ...
- ES6面向对象实现tab栏切换效果
面向对象实现tab栏切换效果
- ES6——面向对象-基础
面向对象原来写法 类和构造函数一样 属性和方法分开写的 // 老版本 function User(name, pass) { this.name = name this.pass = pass } U ...
- es6面向对象
<script> class user{ constructor(name,age){ this.name=name; this.age=age; } showName(){ alert( ...
- es6 面向对象选项卡(自动轮播功能)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 粗看ES6之面向对象写法
标签: es6 在es6以前,js没有类的概念,虽然有构造函数原型的方式用来做面向对向开发,但是对于书法并不是十分友好,而且对于继承实现也不是十分友好. es6引入class constructor ...
- ES6新增语法(四)——面向对象
ES6中json的2个变化 简写:名字和值相同时,json可以可以简写 let a=12,b=5; let json = { a, b } console.log(json) // { a:12 , ...
随机推荐
- django使用xadmin
一.安装xadmin 由于我用的是Django2.0以后的版本 所以无法直接通过pip install xadmin来安装 即使安装成功了 也会报乱七八糟的错误 https://github.com/ ...
- Nginx 初步认识
序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也 ...
- 201871010104-陈园园 《面向对象程序设计(java)》第十三周学习总结
201871010104-陈园园 <面向对象程序设计(java)>第十三周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- SpringBoot注解分析解释
使用注解的优势: 1.采用纯java代码,不在需要配置繁杂的xml文件 2.在配置中也可享受面向对象带来的好处 3.类型安全对重构可以提供良好的支持 4.减少复杂配置文件的同时亦能享受到springI ...
- python27期day11:f-strings格式化、迭代器、生成器、作业题。
1.建议小写f: name = "宝元"age = 18sex = "男"msg = F"姓名:{name},性别:{age},年龄:{sex}&qu ...
- Azure产品整理
Azure的文档真是够落地,简明易懂. 计算 Linux 虚拟机:为 Ubuntu.Red Hat 等预配虚拟机 Windows 虚拟机 为 SQL Server.SharePoint 等预配虚拟机 ...
- luoguP3172 [CQOI2015]选数
题意 所求即为: \(\sum\limits_{i_1=L}^{R}\sum\limits_{i_2=L}^{R}...\sum\limits_{i_k=L}^{R}[\gcd(i_1,i_2,... ...
- 基于OpenVINO的多输入model optimizer(Tensorflow)
Step I:下载预训练模型 wget -O - https://github.com/mozilla/DeepSpeech/releases/download/v0.3.0/deepspeech-0 ...
- JAVA并归排序(数组+链表)
并归排序与快速排序相似,靠分治思想突破了排序算法 O(n2) 的瓶颈. 我们看回顾一下几大排序算法的时间.空间复杂度: 排序算法 平均时间复杂度 最坏时间复杂度 空间复杂度 是否稳定 冒泡排序 O(n ...
- Centos7将本地源更换为网易源
百度搜索: 网易源 点击进入网易开源镜像站 1. 备份当前 repo 文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS- ...