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' }); }