1. JS 中能精准表示的最大整数是 Math.pow(2, 53),十进制即 9007199254740992.你这样表示数字就可能丢失精度,数字不准确
/iems-sso-client/src/main/conf/spring/validatePlant-rules.xml /signalmodel/
数组 判断是否为空不能 if(p) var p = []; 等同于 p = new Array(); 对象p生成后就不为空了,即使没有元素
$.isArray(aaa) true / false 判断变量是否为数组
$.isEmptyObject(obj) 判断Json是否为空对象
2. var array = ['a', 'b', 'abc', 'c']
$.inArray("abc",array)
//获取‘abc’在array数组中的下标,下标从0开始,-1表示不在数组内
var a = '568';
var b = '2899765';
a > b = true
//字符串对比 而不是数字对比
3. var exp = undefined;
if (typeof(exp) == "undefined")
{
alert("undefined");
}
注意判断是否是undefined的时候一定要在两边加上引号,否则不成功(返回的是字符串)
typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
$("#elem_id").val(“”); //IE浏览器下val(“”)触发了change()事件
4. //指定数组中的随机一位 设入参是arguments
var arguments = [5,52,56,59];
console.info(arguments[Math.floor(Math.random() * arguments.length)]);
5. 部分老是搞不清的regExp规则
{n,} 至少n次匹配
// 返回true 表示 不允许._-任意两个或两个以上连续
!/([._-]){2,}/.test(name)
^ 匹配输入字行首
$ 校验规则结束符
/i 不区分大小写
/^[a-z0-9][a-z0-9_]{5,17}$/i.test(name)
(?:pattern)
非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。
这在使用或字符“(|)”来组合一个模式的各个部分时很有用。
例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。
6. ie不兼容 initial; checkbox等的margin效果和谷歌浏览器完全不同!
根据浏览器版本型号等判断
navigator.useragent.indexOf("MSIE 10.0") > -1 // 是否为IE10
navigator.useragent.indexOf('Trident') >-1 && navigator.useragent.indexOf('rv:11')>-1 // 是否是IE11
// 每个版本的IE浏览器的标识是不一样的,完全可以以此作为浏览器兼容样式调整的判断条件。