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( ...
随机推荐
- nginx 网络层的优化
TCP三次握手四次挥手 系统层的优化,主动建立连接时的重试次数 net.ipv4.tcp_syn_retries = 6 建立连接时本地端口可用范围:手动可以tiaoz net.ipv4.ip_loc ...
- 学习笔记(16)- InsuranceQA_zh
仓库地址:https://github.com/l11x0m7/InsuranceQA_zh Convolutional Neural Network for Chinese InsuranceQA ...
- 用C/C++创建windows服务程序
转载:https://blog.csdn.net/chenyujing1234/article/details/8023816 一.演示过程下方代码演示了如何使用vs(C/C++)创建windows服 ...
- 碰到的问题——建设基于TensorFlow的深度学习环境
1.解决jupyter notebook问题:socket.error: [Errno 99] Cannot assign requested address 首先要生成一个jupyter的配置文件: ...
- GsonUtils.getGson().fromJson() 转泛型集合用法
//计算其他收费 List<QiTaFree> qiTaFreeList = GsonUtils.getGson().fromJson(exhiMain.getQiTaFressJson( ...
- openstack的一台Nova主机上的虚拟机网络的配置
1.一台虚拟机器的网络配置,通过openstack/nova计算节点服务生成的虚拟机配置文件 <interface type='bridge'> <mac address='fa:1 ...
- mybatis 入门参考
参考:https://www.cnblogs.com/xdp-gacl/p/4261895.html
- 【mysql】mysq8.0新特性
一.MySQL8.0简介 mysql8.0现在已经发布,2016-09-12第一个DM(development milestone)版本8.0.0发布.新的版本带来很多新功能和新特性,对性能也得到 ...
- Kubernetes 二进制部署(一)单节点部署(Master 与 Node 同一机器)
0. 前言 最近受“新冠肺炎”疫情影响,在家等着,入职暂时延后,在家里办公和学习 尝试通过源码编译二进制的方式在单一节点(Master 与 Node 部署在同一个机器上)上部署一个 k8s 环境,整理 ...
- Maven项目- get请求的乱码问题,使用tamcat7出现乱码的解决方法
get请求的乱码问题: 解决方法: 手动处理编码