一、js中怎么实现hashcode值?
在java中有一种方法,就是可以获取字符串的对应的hashcode值,返回对应的整数值;
这个方法对于一些写在数据库中一些不方便存储的id值 ,那么在js中如果也需要这么一个方法可以使原生的js中没有那么怎么来实现呢?
function isNull(str){
return str == null || str.value == "";
}
/**
* java String hashCode 的实现
* @param strKey
* @return intValue
*/
function hashCode(strKey)
{
var hash = 0;
if(!isNull(strKey))
{
for (var i = 0; i < strKey.length; i++)
{
hash = hash * 31 + strKey.charCodeAt(i);
hash = intValue(hash);
}
}
return hash;
}
/**
* 将js页面的number类型转换为java的int类型
* @param num
* @return intValue
*/
function intValue(num)
{
var MAX_VALUE = 0x7fffffff;
var MIN_VALUE = -0x80000000;
if(num > MAX_VALUE || num < MIN_VALUE)
{
return num &= 0xFFFFFFFF;
}
return num;
}
以上方法经过测试完美通过,代码可以直接使用!
疑惑二
二、web前端中动画的效率性是不是css3会比js中的快?
长时间的开发web前端的各种效果中,在新兴的css3的动画实现中明显的发现,新的技术css3的动画,执行效率会比js中的动画效率高很多,由于自己的工作是基于嵌入式的开发模式中,所以对于性能的需求还是非常重要的,经过测试css3中的动画的运行速度会比js中的动画快很多,所以在web开发的动画效果中最好还是用css3开发会比js好很多;
疑惑三
三、js中的if else 与 switch case的区别?
通常来说,他们用的场景不是一个地方,也就是说,通过一个固定的整数值来区分的道路的场景那么就需要用switch case 来区分,这样效率会高很多;
但是他的弊端就是相对来说不是很灵活,只能是固定的值 ,不能是区间范围的
然而if else 相比之下就是比较适合有一个或者两个道路要走的条件,这样的条件运用起来比较灵活,应用的场景也是相对比较多;但是不要有过多的
if else 嵌套不然的话运行的速度会大大的降低!