• 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受限於是否使用箭頭函數!

  • 相关阅读:
    List of yellow pages
    Bing Beats Google for the Best Way to X-Ray Search LinkedIn
    Search Engine Hacking – Manual and Automation
    42 Bing Search Engine Hacks
    Bing Advanced Search Tricks You Should Know
    Advanced search keywords
    10 Advanced Bing Search Tricks You Should Know
    python判断list中是否包含某个元素
    Python性能优化的20条建议
    CheatEngine查看PE header
  • 原文地址:https://www.cnblogs.com/-walker/p/8422559.html
Copyright © 2020-2023  润新知