随笔分类 -  js

摘要:ref:http://www.popo4j.com/article/the-differences-of-apply-and-call.html 如果没接触过动态语言,以编译型语言的思维方式去理解javaScript将会有种神奇而怪异的感觉,因为意识上往往不可能的事偏偏就发生了,甚至觉得不可理喻.如果在学JavaScript这自由而变幻无穷的语言过程中遇到这种感觉,那么就从现在形始,请放下的您的”偏见”,因为这对您来说绝对是一片新大陆,让JavaScrip好,言归正传,先理解JavaScrtipt动态变换运行时上下文特性,这种特性主要就体现在apply,call两个方法的运用上.区分appl. 阅读全文
posted @ 2013-10-15 15:20 关注前端开发 阅读(81) 评论(0) 推荐(0)
摘要:所谓闭包,值得是词法表示包括不必要计算的变量的函数,也就是说,该函数可以使用函数外定义的变量。顺便提示一下:词法作用域:变量的作用域是在定义时决定而不是执行时决定,也就是说词法作用域取决于源码,通过静态分析就能确定,因此词法作用域也叫做静态作用域。 with和eval除外,所以只能说JS的作用域机制非常接近词法作用域(Lexical scope)。下面是一个简单的使用全局变量的闭包实例:1varsWord="Hello,Welcometoweb前端开发工程师的博客,请多多指教。"2functiondisWord(){3alert(sWord);4}5disWord();解析 阅读全文
posted @ 2013-10-15 15:18 关注前端开发 阅读(96) 评论(0) 推荐(0)
摘要:用js实现对象克隆最关键的两点就是:var objClone = new this.constructor();和objClone[key] = this[key].Clone();。一个实现相同对象创建,一个实现深度克隆。Object.prototype.Clone = function(){varobjClone;if(this.constructor == Object){objClone = newthis.constructor();}else{objClone = newthis.constructor(this.valueOf());}for(varkey inthis){if( 阅读全文
posted @ 2013-10-15 15:15 关注前端开发 阅读(99) 评论(0) 推荐(0)
摘要:经常看到有人百度为什么cliengHeihgt获取的值为0,clientHeight与offsetHeight到底哪里不一样,为什么 遇到这样问题的时候你总是感到迷惘呢,究其原因是对他们的属性不认识造成的,当我们创建HTML页面时候对于一个元素的宽度通常我们会指定他多大(以百分 比或以像素为单位),但高度往往可以有所不同,这取决于你的内容。与块的高度相关联的常见问题是:向下滚动到特定的地方高度是多少;元素的绝对位置,;一 个块相对于另一个块的高度等。在这种情况下CSS并不总是有帮助,特别是如果页面是动态的,这个时候使用javascript来获取他们的值是非常有帮助 的页面高度设置窗口对象的高度 阅读全文
posted @ 2013-04-24 16:06 关注前端开发 阅读(303) 评论(0) 推荐(0)
摘要:JavaScript在IE浏览器和Firefox浏览器中存在一些差异,以下对这些差异部分进行了总结,以及解决方案:1.HTML对象的 id 作为对象名的问题IE:HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用Firefox:不支持解决方法:使用document.getElementById替代document.all2.如果控件只有name,没有id, 用getElementById时:IE:可以找到对象Firefox:返回NULL解决方法:所有控件必须设置ID属性3.Evel:IE:支持,利用 eval(idName) 可以取得 id 为 idName 的 HT 阅读全文
posted @ 2011-09-20 12:03 关注前端开发 阅读(63) 评论(0) 推荐(0)