hashCode 重写,将一个字符串转变为一串数字

String.prototype.hashCode = function() {
    var hash = 0, i, chr;
    if (this.length === 0) return hash;
    for (i = 0; i < this.length; i++) {
        chr   = this.charCodeAt(i);
        hash  = ((hash << 5) - hash) + chr;
        hash |= 0; // Convert to 32bit integer
    }
    return hash;
};

应用:     (存储本地头像缓存)

var fullPath = headDir + url.hashCode();
if (jsb.fileUtils.isFileExist(fullPath))
    cb(fullPath);
else {
    NetUtils.httpGet(url, function (content) {
        var ret = jsb.fileUtils.writeDataToFile(content, fullPath);
        if (ret) {
            cb(fullPath);
        }
    }, null, {
        responseType: 'arraybuffer'
    });
}

猜你喜欢

转载自blog.csdn.net/W_han__/article/details/102586720
今日推荐