接下来我们看一下Doom3Token类的其他几个接口方法的实现,具体代码如下:

// 使用get关键字来定义属性,get定义只读属性,set定义只写属性
public get type ( ) : ETokenType {
    return this . _type ;
}
//获取当前token的字符串值
public getString ( ) : string {
    // _charArr数组中存放的都是单个字符序列,例如[ d , o , o , m , 3 ]
    // 我们可以使用数组的join方法将字符串联成字符串
    // 下面会使用join方法后,会返回doom3这个字符串
    return this . _charArr . join ( "" ) ;
}
// 获取当前token的浮点值
public getFloat ( ) : number {
    return this . _val ;
}
// 获取当前token的int类型值
public getInt ( ) : number {
    // 使用parserInt函数
    // 第一个参数是一个字符串类型的数字表示
    // 第二个参数是进制,我们一般用10进制
    return parseInt ( this . _val . toString ( ) , 10 ) ;
}

  我们来看一个字符串比较的接口方法的实现,具体代码如下所示:

public isString ( str : string ) : boolean {
    let count : number = this . _charArr . length ;
    // 字符串长度不相等,肯定不等
    if ( str . length !== count ) {
        return false ;
    }
    // 遍历每个字符
    for ( let i : number = 0 ; i < count ; i++ ) {
     // _charArr数组类型中每个char和输入的string类型中的每个char进行严格比较(!==操作符而不是!=)
     // 只要任意一个char不相等,意味着整个字符串都不相等
        if ( this . _charArr [ i ] !== str [ i ] ) {
            return false ;
        }
    }
    // 完全相等
    return true ;
}
随风而行之青衫磊落险峰行(www.buleifeng.top) all right reserved,powered by Gitbook本文件修订时间: 2019-10-10 16:16:28

results matching ""

    No results matching ""