跳至主要內容

类的使用

chanchaw小于 1 分钟javascript

案例

class CustomMetaData {
    startSymbol;endSymbol;inited;
    // 构造函数
    constructor(startSymbol, endSymbol) {
        this.startSymbol = startSymbol;
        this.endSymbol = endSymbol;
        this.inited = true;
    }
    print() {
        console.log(`startSymbol:${this.startSymbol},endSymbol:${this.endSymbol}`);
    }
    getLastMetaData(data){// 获取最后一个完整的单元数据
        if(!this.inited){
            console.log('请初始化之后再使用本函数!');
            return
        }
        if(!data || data.length === 0) return '';
        const lastStartIndex = data.lastIndexOf(this.startSymbol);
        const lastEndIndex = data.lastIndexOf(this.endSymbol);
        if(lastStartIndex < 0 || lastEndIndex < 0) return '';
        if(lastEndIndex <= lastStartIndex) return '';
        return data.substring(lastStartIndex,lastEndIndex+1);
    }
    // 返回最后一个单元数据,排除起始、终止符号
    getLastMetaDataPure(data){
        const meta = this.getLastMetaData(data);
        return meta.substring(1,meta.length - 1);
    }
}

// 调用方法
const m = new CustomMetaData('[',']');
m.getLastMetaData('This[tesltiple] sdf [symbols]dffd.');

// 获取到的数据是:[symbols]