摘要:延长作用域链,意思是,在当前作用域链的前端临时添加一个变量对象。该变量对象会在代码执行完之后移除。这通常发生在两个语句中,try-catch的catch语句with语句 对于with语句而言,其变量对象中包含为指定对象的所有属性和方法所作的变量声明。对于catch而言,其变量对象包含被抛出错误对象的声明。举个例子:+function(){try{alert(x);}catch(e){console.log(e);}console.log(e);}()标准浏览器,而IE8,结果如下:在IE中,catch语句之外也可以访问到错误对象,很奇怪 阅读全文
【javascript基础】【setTimeout setInterval】 之 setTimeout基本概念及浏览器兼容性
2012-11-13 16:56 by sniper007, 684 阅读, 0 推荐, 收藏, 编辑
摘要:一、定义:在指定的延迟时间之后调用一个函数或者执行一个代码片段.二、语法:vartimeoutID=window.setTimeout(func,delay,[param1,param2,...]);vartimeoutID=window.setTimeout(code,delay);说明: timeoutID 是该延时操作的数字ID, 此ID随后可以用来作为window.clearTimeout方法的参数. func 是你想要在delay毫秒之后执行的函数. code 在第二种语法,是指你想要在delay毫秒之后执行的代码 (使用该语法是不推荐的, 不推荐的原因和ev... 阅读全文
【javascript基础】【setTimeout setInterval】 之 How JavaScript Timers Work [译]
2012-11-13 15:03 by sniper007, 319 阅读, 0 推荐, 收藏, 编辑
摘要:At a fundamental level it's important to understand how JavaScript timers work. Often times they behave unintuitively because of the single thread which they are in. Let's start by examining the three functions to which we have access that can construct and manipulate timers. var id = setTim 阅读全文
【javascript基础】keypress keydown keyup的区别
2012-11-13 11:02 by sniper007, 479 阅读, 0 推荐, 收藏, 编辑
摘要:一、定义:KeyDown:在控件有焦点的情况下按下键时发生。 KeyPress:在控件有焦点的情况下按下键时发生。(下面会说和KeyDown 的区别) KeyUp:在控件有焦点的情况下释放键时发生。二、促发的顺序: KeyDown KeyPress KeyUp demo : <inputtype="text"id="wrap"/><scripttype="text/javascript">function$(str){returndocument.getElementById(str);}$("wra 阅读全文
【javascript基础】之【ecmascript5新特性】之Object.create
2012-11-12 23:21 by sniper007, 196 阅读, 0 推荐, 收藏, 编辑
摘要:方法定义:用原型对象及属性的方式来新建一个对象。语法 :Object.create(proto[,propertiesObject])参数说明:proto :该参数所传入的对象将会成为新对象的原型。propertiesObject : 类似这样的值,{age:{value:26},name:{value:"sunlaohu"}}注意点:如果proto参数传入的不是null或object,则会抛出TypeError 错误。demo:varo;//创建一个原型为null的对象o=Object.create(null);o={};//上行代码相当于:o=Object.create 阅读全文
【javascript基础】 Nine Javascript Gotchas 【翻译】JavaScript的9个陷阱及评点
2012-11-12 19:08 by sniper007, 305 阅读, 0 推荐, 收藏, 编辑
摘要:原文1) Comma Caused CoruptionvartheObj={city:"Boston",state:"MA",}Notice the comma after "MA"? It will be the source of many woes. Firefox will pay it no heed, but it will create a syntax error in IE. Worst of all, IE will not tell you where the actual bug is. The only so 阅读全文
【js基本功能模块】“回到顶部”代码优化
2012-11-12 18:01 by sniper007, 336 阅读, 0 推荐, 收藏, 编辑
摘要:以前项目里面“回到顶部”思路是:动态插入div,设置相对定位,ie6绝对定位,窗口"resize,scroll"的时候动态改变位置,即使是相对定位的时候,也要动态计算位置。新的思路: 动态插入一个div(如下图),居中,相对定位,然后计算下位置,里面的元素,支持fixed,用fixed,IE6,单独计算,这么做的好处是,在窗口resize,scroll的时候,支持fixed的浏览器不用再重新计算元素的位置了,IE6难免的,还是要计算 顺便我把项目的里面的代码片段贴一下varTOPPANEL="#MST-common-panel",SIDEPANEL=&q 阅读全文
【javascript基础】childNodes兼容性
2012-11-12 17:44 by sniper007, 274 阅读, 0 推荐, 收藏, 编辑
摘要:childNodes:获取子节点标准浏览器(包括IE9,IE10)使用childNodes获取节点,它会将空格符、回车符、换行符也看做一个文本节点IE6,7,8 会将空格符、回车符、换行符过滤掉所以我们做的时候只要判断,nodeType属性是否等于1就行了 阅读全文
【浏览器】浏览器模式与文档模式区别
2012-11-05 15:01 by sniper007, 1020 阅读, 1 推荐, 收藏, 编辑
摘要:浏览器模式下的影响:简单来说,“浏览器模式”影响的是浏览器的版本及IE的条件注释,”浏览器模式”会影响服务器端对浏览器版本的判断,主要表现在展现,对CSS影响很大先看看以下的代码:”浏览器模式”为IE7的情况下,字体颜色为红色,其他情况为黑色。这是一段非常简单的IE条件注释代码,在IE7下字体的颜色会被解析为红色,此时我们切换浏览器模式并保持文档模式不变,效果如图:可见,切换”浏览器模式”,对IE的条件注释会有影响。另外,”浏览器模式”对服务器端获得浏览器版本好也会有影响,看下面的代码:这是非常简单的一段JS代码,作用是输出浏览器的版本信息,用于检测浏览器的版本,在不同浏览器模式下效果如图:可 阅读全文
【浏览器兼容性】一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
2012-11-02 17:22 by sniper007, 739 阅读, 0 推荐, 收藏, 编辑
摘要:一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实IE给出了解决方案Google也给出了解决方案百度也应用了这种方案去解决IE的兼容问题百度源代码如下1 2 3 4 5 6 百度一下,你就知道7 可以打开百度,右键查看源码看下!我们可以看下文件头是否存在这样一行代码!这句话的意思是强制使用IE7模式来解析网页代码!在这里送上几种IE使用模式!8 2. Google Chrome Frame也可以让IE用上Chrome的引擎:9 3.强制IE8使用IE7模式来解析10 11 //或者12 4.强制IE8使用IE6或IE5 阅读全文