摘要: 1.浏览器加载和渲染html的顺序1、IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。2、在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)3、如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。4、并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载。阻塞加载5、样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。6、JS、CSS中如有重定义,后定义函数将覆盖前定义函数2. JS的加载2.1 不 阅读全文
posted @ 2012-03-02 20:22 susubanana 阅读(279) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2012-02-29 21:52 susubanana 阅读(208) 评论(0) 推荐(0)
摘要: 如果闭包作用域链中保存了HTML元素,因为闭包保存了外部函数的活动对象,因而占用的内存就永远不会被回收。 代码如下: function getHtmlElement(){ var element=document.getElementById("htmlElement"); element.onclick=function(){ alert(element.id);//引用了HTML元素,保存了getHtmlElement()的活动对象,导致内存不能被回收。 }; } 如果想要闭包引用HTML元素,又想内存得以被回收,可以将取得的HTML元素保存在一个变量中,闭包引用这个变 阅读全文
posted @ 2012-02-28 11:51 susubanana 阅读(744) 评论(1) 推荐(0)
摘要: 1、闭包是指有权访问另一个函数作用域中的变量的函数。 从作用域链上看,一个函数A包含函数B,B有权利访问A中的变量。作为全局作用域的对象(window)如果想访问A中的变量,是不被允许的,可是它可以通过调用A函数,让B去访问A函数中的变量,以达到函数外部想访问函数内部的目的。2、闭包常见的创建方式是:一个函数内部创建另一个函数(就是A包含B)。3、从微观角度去分析闭包。 1)、当定义了函数A,如果A是一个全局函数,在创建执行环境的过程中,全局执行环境中的变量对象,包含(this<window对象>,函数A,以及用以调用函数A的变量); 2)、然后又在全局作用域中调用函数A,在执行环 阅读全文
posted @ 2012-02-28 11:50 susubanana 阅读(177) 评论(0) 推荐(0)
摘要: 超时调用:var timeoutId=setTimeout(函数/字符串,超时时间);//设置超时,setTimeout()会返回一个超时IDclearTimeout(timeoutId);//通过返回的超时ID,清除超时(重点是每次设置了一步,就要想好以后维护的方法)间歇调用:setInterval();var intervaltId=setInterval(函数/字符串,间歇时间);clearInterval(intervaltId); 阅读全文
posted @ 2012-02-28 11:48 susubanana 阅读(418) 评论(0) 推荐(0)