请帮我翻译一小段JS代码,在线等
代码不多,麻烦帮我翻译详细一点,每句话的意思都说一下,特别是{hash+=(hash<<5)+str.charAt(i).charCodeAt();}returnhash...
代码不多,麻烦帮我翻译详细一点,每句话的意思都说一下,特别是{hash+=(hash<<5)+str.charAt(i).charCodeAt();}return hash&0x7fffffff 这几句重点翻译,谢了
function(str)
{var hash=5381;
for(var i=0,len=str.length;i<len;++i)
{hash+=(hash<<5)+str.charAt(i).charCodeAt();
}
return hash&0x7fffffff;}; 展开
function(str)
{var hash=5381;
for(var i=0,len=str.length;i<len;++i)
{hash+=(hash<<5)+str.charAt(i).charCodeAt();
}
return hash&0x7fffffff;}; 展开
1个回答
展开全部
function(str)
{var hash=5381;//定义一个变量hash
for(var i=0,len=str.length;i<len;++i)
{hash+=(hash<<5)+str.charAt(i).charCodeAt();//hash<<5 将hash转换为二进制,然后左移5位,相当于hash乘于2的5次方.str.charAt(i)得到i位置的字符,.charCodeAt().将得到的字符转换为unicode编码.
}
return hash&0x7fffffff;}; //&表示按位与(hash和0x7ffffff转换为二进制)
{var hash=5381;//定义一个变量hash
for(var i=0,len=str.length;i<len;++i)
{hash+=(hash<<5)+str.charAt(i).charCodeAt();//hash<<5 将hash转换为二进制,然后左移5位,相当于hash乘于2的5次方.str.charAt(i)得到i位置的字符,.charCodeAt().将得到的字符转换为unicode编码.
}
return hash&0x7fffffff;}; //&表示按位与(hash和0x7ffffff转换为二进制)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询