js 几个特殊情况

alert(033-15);//12,前缀0用在直接量中,表示八进制

alert('033'-15);//18,前缀0用在字符串中,在(隐式)转换将忽略

alert(parseInt('033')-15);//12

 

function.apply([thisObj[,argArray]])

function.call([thisObj[,arg1[, arg2[, [,.argN]]]]])

 

swith 优先进行类型检测而不会发生类型转换

var obj=new Number(2);

switch(obj){

case 2:alert(2)//不会执行, 2!==new Number(2)

}

 

在JS中使用DOM属性readOnly是区分大小写的

js使用window.location代替window.location.href

使用parentNode访问父节点

IE不允许对table,tr的innerHTML赋值,也不支持appendChild添加tr对象,可以向table追加一个空行,table.insertRow(-1);

 

  IE 非IE
空白符 不支持\v,解析成字母v  
样式 currentStyle  defaultView.getComputedStyle
类样式 getAttribute("className") getAttribute("class")
label for属性 getAttribute("htmlFor") getAttribute("for")
指针位置 event.clientX,clientY event.pageX,pageY
 可见窗口大小  document.documentElement.clientWidth,clientHeight window.innerWidth,innerHeight
 alpha  style.filter="alpha(opacity=80)" style.opacity="0.8"
 元素尺寸  style.heigh=number style.heigh=number+"px"
 float值  style.styleFloat style.cssFloat
插入文本 innerText="" textContent=""
事件源 event.srcElement event.target
键盘值 event.keyCode event.which
事件  attachEvent,detachEvent addeventListener,removeEventListener

 

js有(?= exp)却没有(?<= exp), 如果使用了后者, 就会报错"Invalid group"

 

IE8及其以下浏览器在执行string.split(regex)时,会忽略空值(例'1,2,3,'.split(/,/) 返回结果是['1','2','3'],而不是['1','2','3','']),所以会有兼容性问题,使用string.split('')替换

 

 

 

posted on 2014-06-04 22:07  木龙哥  阅读(197)  评论(0编辑  收藏  举报

导航