如何在JavaScript中取得与Java hashCode()函数相同的结果

1,980 阅读1分钟

废话不多说,直接上主菜:

    function hashCode(str){
        str=str+"";
        var h = 0, off = 0;
        var len = str.length;
   	
        for(var i = 0; i < len; i++){
            h = 31 * h  + str.charCodeAt(off++);
            if(h>0x7fffffff || h<0x80000000){
                h=h & 0xffffffff;
            }
        }
        return h;
}

使用方法:

var result = hashCode(str).toString(); //得到hash字符串