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的一些SAO操作的更多相关文章

  1. JavaScript 的一些SAO操作

    IE判断检测 jQuery 在 1.9 版本之前,提供了一个浏览器对象检测的属性 .browser 的替代方案.于是各种利用 IE bug 的检测方法被搜了出来: // IE 678 最短方法 var ...

  2. 关于JavaScript中的delete操作

    关于JavaScript中的delete操作 看到一道题,是这样的: (function(x){ delete x; return x; })(1); 1 null undefined Error 我 ...

  3. JavaScript对SVG进行操作的相关技术

    原文地址:http://www.ibm.com/developerworks/cn/xml/x-svgscript/   本文主要介绍在 SVG 中通过编程实现动态操作 SVG 图像的知识. SVG ...

  4. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  5. 学习笔记: JavaScript/JQuery 的cookie操作

    转自:http://blog.csdn.net/barryhappy/archive/2011/04/27/6367994.aspx cookie是网页存储到用户硬盘上的一小段信息.最常见的作用是判断 ...

  6. PHP与JavaScript下的Cookie操作

    下面的例子列出几种情形交互场景,列出JS和php交互的方法.总结下,以免日后再为cookie问题困扰. setcookie.php getcookie.php 总结: php用自身函数读取php 的c ...

  7. Day3JavaScript(一)JavaScript初识以及bom操作

    JavaScript简介 什么是JavaScript 弱类型,动态类型,基于原型的直译性的编程语言.1995年netscape(网景)在导航者浏览器中设计完成. JavaScript的特点 1.与HT ...

  8. JavaScript中使用ActiveXObject操作本地文件夹的方法

    转载地址    http://www.jb51.net/article/48538.htm 在Windows平台上, js可以调用很多Windows提供的ActivexObject,本文就使用js来实 ...

  9. Javascript学习笔记二——操作DOM

    Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...

随机推荐

  1. bzoj 1045 [HAOI2008] 糖果传递——设变量推式子

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1045 费用流TLE. #include<iostream> #include&l ...

  2. DOM 事件监听 事件冒泡 事件捕获

    addEventListener() 方法 实例: // 当用户点击按钮时触发监听事件: document.getElementById("myBtn").addEventList ...

  3. Java项目压力测试(待补)

    JVM监控使用ava自带jvisualvm,在java安装目录jdk1.*/bin下(有很多更高级的东西 线程2000以下,太多切换太消耗.CPU使用率30%以下,更健壮

  4. Vue 实现展开折叠效果

    Vue 实现展开折叠效果 效果参见:https://segmentfault.com/q/1010000011359250/a-1020000011360185 上述链接中,大佬给除了解决方法,再次进 ...

  5. HttpClient 该知道一些概念

    HttpClient 该知道不该知道的一些事 一.简介: Apache开源项目: http://hc.apache.org/ 基于HTTP协议提供强大的支持,构建HTTP客户端应用程序 执行HTTP协 ...

  6. Http响应response(文件下载、验证码)

    Http响应response response:响应 作用: 往浏览器写东西 组成部分: 响应行 响应头 响应体 操作响应行 格式: 协议/版本 状态码 状态码说明 状态码: 1xx:已发送请求 2x ...

  7. JSP Web第五章整理复习 JSP访问数据库

    P164  例5-1  常用SQL语句 P178  数据库连接池 (1)连接池的作用 存储多个数据库连接对象,当程序需要时,从池中获取1个连接,程序执行完成后再还给连接池.避免数据库连接建立.关闭的开 ...

  8. MaxCompute 助力衣二三构建智能化运营工具

    摘要:本文由衣二三CTO程异丁为大家讲解了如何基于MaxCompute构建智能化运营工具.衣二三作为亚洲最大的共享时装平台,MaxCompute是如何帮助它解决数据提取速度慢.数据口径差异等问题呢?程 ...

  9. 【风马一族_mysql】mysql基本指令

    船停在港湾是很安全的,但那不是造船的目的! 用户 创建用户 mysql>grant 权限(select,insert,update,delete) on  数据库.数据表  to  用户名@电脑 ...

  10. 重磅!容器集群监控利器 阿里云Prometheus 正式免费公测

    Prometheus 作为容器生态下集群监控的首选方案,是一套开源的系统监控报警框架.它启发于 Google 的 borgmon 监控系统,并于 2015 年正式发布.2016 年,Prometheu ...