JavaScript 的一些SAO操作
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,c=10;
if(a===b){
a=c;
}else if(a===c){
a=b;
}
我们尝试一行代码解决这个问题吧!!!
a=a^b^c; //按位异或
按位异或计算
真^假=真
假^真=真
假^假=假
真^真=假’
随机HEX16进制随机颜色
//方法1
function randomColor(){
colorStr="#"+("00000"+(Math.random()*0x1000000<<0).toString(16)).slice(-6);
}
//方法2
function randomColor(){
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操作的更多相关文章
- JavaScript的一些SAO操作
IE判断检测 jQuery 在 1.9 版本之前,提供了一个浏览器对象检测的属性 使用率极高.但是在版本发布之后,大家钟爱的这个属性被无情的抛弃了.大家开始着手寻找.browser 的替代方案.于是各 ...
- 关于JavaScript中的delete操作
关于JavaScript中的delete操作 看到一道题,是这样的: (function(x){ delete x; return x; })(1); 1 null undefined Error 我 ...
- JavaScript对SVG进行操作的相关技术
原文地址:http://www.ibm.com/developerworks/cn/xml/x-svgscript/ 本文主要介绍在 SVG 中通过编程实现动态操作 SVG 图像的知识. SVG ...
- javascript中字符串常用操作整理
javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...
- 学习笔记: JavaScript/JQuery 的cookie操作
转自:http://blog.csdn.net/barryhappy/archive/2011/04/27/6367994.aspx cookie是网页存储到用户硬盘上的一小段信息.最常见的作用是判断 ...
- PHP与JavaScript下的Cookie操作
下面的例子列出几种情形交互场景,列出JS和php交互的方法.总结下,以免日后再为cookie问题困扰. setcookie.php getcookie.php 总结: php用自身函数读取php 的c ...
- Day3JavaScript(一)JavaScript初识以及bom操作
JavaScript简介 什么是JavaScript 弱类型,动态类型,基于原型的直译性的编程语言.1995年netscape(网景)在导航者浏览器中设计完成. JavaScript的特点 1.与HT ...
- JavaScript中使用ActiveXObject操作本地文件夹的方法
转载地址 http://www.jb51.net/article/48538.htm 在Windows平台上, js可以调用很多Windows提供的ActivexObject,本文就使用js来实 ...
- Javascript学习笔记二——操作DOM
Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...
随机推荐
- 5 JSON&与JavaScript转换&JavaScript:void(0)&JavaScript代码规范
JSON:JavaScript Object Notation JS对象简谱 一种轻量级的数据交换格式,用于存储和传输数据的格式,通常用于服务端向网页传递数据 是独立的语言,易于理解 JSON语法 ...
- Servlet 学习(四)
HTTP 响应的构成1.HTTP 响应行: 协议.状态.描述 HTTP 1.1 中定义的状态代码 100-199 是信息性代码,标示客户应该采取的其它动作 200-299 表示请求成功 300-399 ...
- Python数据类型-6 字典
字典 Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度.但它是无序的,包含的元素个数不限, ...
- 尝试实现一个简单的C语言string类型
用过`C++/Java/python/matlab/JS`等语言后,发现都能很轻松的使用string类型,而C只能这样: char str[] = "hello world"; o ...
- DRF项目之序列化器和视图重写方法的区别
我们,都知道,DRF框架是一款高度封装的框架. 我们可以通过重写一些方法来实现自定义的功能. 今天,就来说说在视图中重写和序列化器中重写方法的区别. 在视图中重写方法: 接收请求,处理数据(业务逻辑) ...
- win7 X64 进程名称不一致,导致杀进程失效!
win7 x86, 或 win10 x64 环境下, x86的进程名称 ”aaa.exe“ 在win7 x64下面显示为 ”aaa.exe *32“
- BZOJ 4166: 月宫的符卡序列
如果使用回文树,节点 \(u\) 的回文串和 \(fail_u\) 的回文串中心不一样,因为回文树的 \(fail\) 指针指向的是最长回文后缀,没法快速解决异或和 考虑魔改回文树,用马拉车来解决,扩 ...
- linux的ls -al指令
ls是“list”的意思,参数-al则表示列出所有的文件,包括隐藏文件,就是文件前面第一个字符为.的文件. 1.第一列便是这个文件的属性: #第一个属性表示这个文件时“目录.文件或链接文件等”: ...
- C. Magic Grid 构造矩阵
C. Magic Grid time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- 【剑指Offer面试编程题】题目1369:字符串的排列--九度OJ
题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入: 每个 ...