es6-class

es5中有構造函數可以很好的繼承複用模塊,es6中更加簡潔,如下:

"use strict";
class Video {
    constructor(signStatus){
        this.signStatus = signStatus
        this.boxDom = document.getElementById("boxDom")
        this.init()
    }
    init(){
        this._getAnchorInfo()
    }
    _getAnchorInfo(){
        api.getInfo("/anchor/info").then(res =>{
            // success
            if(res.ret_code=="0"){
                let data = res.data
                this._renderHtml(data)
            // failed
            }else{
                this._errorTips()
            }
        }).catch(error =>{
            console.log(error)
        })
    }
    _renderHtml(data){
        if(this.signStatus){
            // 如果存在
        }else{
            this.boxDom.innerHTML="</p>" data "</p>"
        }
    }
    _errorTips(){
        this.boxDom.innerHTML="数据为空了~"
    }
}

var ReplayVideos = new Video()
window.ReplayVideos = ReplayVideos

// other status
// var ReplayVideos = new Video(true)

上面等同於:

"use strict";
function Video(status){
    this.init(status)
}
Video.prototype = {
    init:function(status){
        this.status = status;
        this.boxDom = document.getElementById("boxDom");
        this.getAnchorInfo();
    },
    getAnchorInfo:function(){
        let _this = this;
        api.getInfo("/anchor/info").then(function(res){
            // success
            if(res.ret_code=="0"){
                let data = res.data
                _this._renderHtml(data)
            // failed
            }else{
                _this._errorTips()
            }
        }).catch(function(error){
            console.log(error)
        })
    },
    renderHtml:function(data){
        if(this.status){
            // 如果存在
        }else{
            this.boxDom.innerHTML="</p>" data "</p>"
        }
    },
    errorTips:function(){
        this.boxDom.innerHTML="数据为空了~"
    }
}

var ReplayVideos = new Video()
window.ReplayVideos = ReplayVideos

// other status
// var ReplayVideos = new Video(true)

注意class中的this受限於是否使用箭頭函數!


更多专业前端知识,请上 【猿2048】www.mk2048.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值