摘要: 这些天接触重构的事情比较多,首先是组内的小星星给大家说了下代码的臭味道,然后重构的目的,最后说到了重构的方法; 可能大家在写代码的时候不是很注意这方面,如果你有重构的意识去编写代码,多以后的维护有很大的帮助,优秀的代码和劣质的代码一比较就有分晓; 重构(refactoring) 这个概念来自Smalltalk圈子,没多久就进入其他语言的阵营中了。重构是一个过程,在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。 重构有很多方法,比如说提取方法,内联方法,提取类,将类内联等,我们在编写代码的时候一定要注意自己编写的代码质量,对临时变量,局部变量,语义化,表达式(三目... 阅读全文
posted @ 2011-10-20 16:47 前端开发工程师 阅读(2524) 评论(0) 推荐(1) 编辑
摘要: ref:http://www.popo4j.com/article/the-differences-of-apply-and-call.html  如果没接触过动态语言,以编译型语言的思维方式去理解javaScript将会有种神奇而怪异的感觉,因为意识上往往不可能的事偏偏就发生了,甚至觉得不可理喻.如果在学JavaScript这自由而变幻无穷的语言过程中遇到这种感觉,那么就从现在形始,请放下的您的... 阅读全文
posted @ 2010-09-20 16:50 前端开发工程师 阅读(97270) 评论(23) 推荐(32) 编辑
摘要: 最近一直在做Css Lab,也一直在思考关于页面设计的技术问题,以前对Html+css+js的认识很片面,很多不知道,都是因为没有好好的去研究,去分析,去编写测试,今天主要说下关于Css编写的问题,希望大家多多留言,我是抛砖引玉。  Css和其他程序一样,都是有作用域这个概念,有全局、类局部作用这些方式。  举个例子:    p{background:#f00;}/* 作用域 :全局 */    ... 阅读全文
posted @ 2010-09-06 17:11 前端开发工程师 阅读(1309) 评论(4) 推荐(1) 编辑
摘要: 所谓闭包,值得是词法表示包括不必要计算的变量的函数,也就是说,该函数可以使用函数外定义的变量。顺便提示一下:词法作用域:变量的作用域是在定义时决定而不是执行时决定,也就是说词法作用域取决于源码,通过静态分析就能确定,因此词法作用域也叫做静态作用域。 with和eval除外,所以只能说JS的作用域机制非常接近词法作用域(Lexical scope)。 下面是一个简单的使用全局变量的闭包实例:1va... 阅读全文
posted @ 2010-08-11 14:27 前端开发工程师 阅读(3619) 评论(0) 推荐(2) 编辑
摘要: 最近在关注http get 和 post的区别,关注到豆瓣说,post contentType为text/plain,之前没接触到这个类型,于是查了一些资料,在豆瓣说做了几个测试,标记下有效地文档类型 contentType客户端浏览器根据该属性判断文档类型。例如: HTML : text/html 纯文本格式 : text/plain JPG : image/jpeg GIF : image/gif WORD : application/msword 阅读全文
posted @ 2011-07-27 11:10 前端开发工程师 阅读(4451) 评论(1) 推荐(0) 编辑
摘要: 浏览器兼容问题一直是前段开发工程师比较头痛的问题,熟悉了里面的规则也就变得简单了,这里有一份资料可以分享给大家,大家平时开发过程中遵循这个规律的话,会变得轻松多了: 各浏览器CSS hack兼容表: IE6 IE7 IE8 Firefox Chrome Safari !important Y Y _ Y * Y Y *+ Y \9 Y Y Y \0 Y nth-of-type(1) Y Y... 阅读全文
posted @ 2010-08-31 17:06 前端开发工程师 阅读(2745) 评论(2) 推荐(0) 编辑
摘要: IE6下默认不缓存背景图片,CSS里每次更改图片的位置时都会重新发起请求,用这个方法告诉IE6缓存背景图片 解决IE下图片作为背景时,有鼠标操作时的抖动问题 方法一、css(推荐使用) 代码: div{*zoom:1;} html { zoom:expression(function(ele) { ele.style.zoom = "1"; document.execCommand("Bac... 阅读全文
posted @ 2010-08-30 13:11 前端开发工程师 阅读(1362) 评论(0) 推荐(2) 编辑
摘要: 具体代码:alert(cmycurd(10050));function cmycurd(num){ //转成人民币大写金额形式 var str1 = '零壹贰叁肆伍陆柒捌玖'; //0-9所对应的汉字 var str2 = '万仟佰拾亿仟佰拾万仟佰拾元角分'; //数字位所对应的汉字 var str3; //从原num值中取出的值 var str4; //数字的字符串形式 var str5 = '... 阅读全文
posted @ 2010-08-18 13:48 前端开发工程师 阅读(873) 评论(0) 推荐(1) 编辑
摘要: 前些天的电话面试,在交谈中她有讲到关于IE6双倍间距的真正原因,当时自己隐约知道是由于Float影响的,记得以前做过的时候就遇 到这个问题,通过display:inline解决,这个是我在网上找到的答案,平时也没关注这个问题,所以也不能很好的回答这个问题。 电话面试完了以后,我才认真思考了,想在网上看看有什么文章不,发现很难找到,索性我就自己动手用记事本先做个例子试试看问题所在。具体如下: Dem... 阅读全文
posted @ 2010-08-11 14:44 前端开发工程师 阅读(2173) 评论(4) 推荐(0) 编辑