JavaScript的一些SAO操作
程序员文章站
2023-12-24 14:26:27
IE判断检测 jQuery 在 1.9 版本之前,提供了一个浏览器对象检测的属性 使用率极高。但是在版本发布之后,大家钟爱的这个属性被无情的抛弃了。大家开始着手寻找.browser 的替代方案。于是各种利用 IE bug 的检测方法被搜了出来: // IE 678 最短方法 var ie = !-[ ......
ie判断检测
jquery 在 1.9 版本之前,提供了一个浏览器对象检测的属性 使用率极高。但是在版本发布之后,大家钟爱的这个属性被无情的抛弃了。大家开始着手寻找.browser 的替代方案。于是各种利用 ie bug 的检测方法被搜了出来:
// ie 678 最短方法 var ie = !-[1,];
解析 :
在标准浏览器下false
ie 6 7 8 下:
true
拆解步骤
/* ie678 */
[-1,] //[object array] [-1, undefined] 逗号后位置初始化为undefined未省略 2
-[-1,] //nan
/* 非ie */
[-1,] // [-1] 省略了 , 之后空位 1
-[-1,] // 1 隐式计算 先转化为number然后进行 --取反
当然还有很多方式,这里稍微列举一下
var ie = /*@cc_on!@*/false
var ie//@cc_on=1
var ie = '\v'=='v'
var ie = !+"\v1"
var isie = function(ver){
var b = document.createelement('b')
b.innerhtml = '<!--[if ie ' + ver + ']><i></i><![endif]-->'
return b.getelementsbytagname('i').length === 1;
}
位运算的神奇应用
toggle 两个值
比如 下面几种 反向判断赋值 如果 a == b 那就让 a = c 如果 a == c 那就让 a = b
var a = 10 , b = 20 , x = 10;
if( a === b){
a = c;
}else if( a === c){
a = b;
}
我们尝试一行代码解决这个问题吧!!!
x = a ^ b ^ x; //按位异或
按位异或计算
真^假=真
假^真=真
假^假=假
真^真=假’
随机hex16进制随机颜色
function randomcoloru(){
colorstr = "#"+("00000"+(math.random()*0x1000000<<0).tostring(16)).slice(-6);
}
function randomcolor(){
var colorstr=math.floor(math.random()*0xffffff).tostring(16).touppercase();
return"#"+"000000".substring(0,6-colorstr)+colorstr;
}
向下取整怎么写?
parseint(15.5); //15
math.floor(15.5); //15
15.5 >>> 0; //15
15.5 >> 0; //15
15.5|0; //15
~~(15.5); //15
只要能把小数位干掉,目的就达到了
推荐阅读
-
JavaScript中的操作符类型转换(图文教程)
-
php数组的一些常见操作汇总
-
JavaScript操作DOM元素的childNodes和children区别_javascript技巧
-
JS操作Cookies的小例子_javascript技巧
-
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性_javascript技巧
-
基于JavaScript操作DOM常用的API小结_javascript技巧
-
JavaScript数组和字符串的操作方法
-
浅谈javascript中数组Array的添加/删除操作
-
用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
-
使用Python操作MySQL的一些基本方法