博客园 - zhenn
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=127036
2014-08-03T13:11:18Z
zhenn
https://www.cnblogs.com/zhenn/
feed.cnblogs.com
https://www.cnblogs.com/zhenn/archive/2011/10/29/2228941.html
使用npmf解决npm安装nodejs类库失败的问题 - zhenn
nodejs作为跑在服务器端的javascript,可以提供高性能的web服务,简而言之其特色: v8引擎 事件回调模型 异步 无阻塞 单线程 更多资料请参考:http://nodejs.org/
2011-10-29T15:10:00Z
2011-10-29T15:10:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】nodejs作为跑在服务器端的javascript,可以提供高性能的web服务,简而言之其特色: v8引擎 事件回调模型 异步 无阻塞 单线程 更多资料请参考:http://nodejs.org/ <a href="https://www.cnblogs.com/zhenn/archive/2011/10/29/2228941.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/05/11/2043329.html
2011彩票首页开发实践 - zhenn
彩票新版首页已经悄无声息的上线一个月时间,目前只在老版首页中挂了一个链接入口,没有覆盖之前的版本,这种新旧版并行的措施,一方面为了给用户提供足够的缓冲,另外一方面则是收集用户的反馈意见,让我们的产品更加贴近用户。 此次彩票首页的改版,依然延续淘宝首页html5的革命事业,采用语义化的html5标签来布局页面,针对不支持html5的IE系列浏览器(IE8及其以下版本),采用js方法激活自定义标签即可。在用户禁用js脚本的情况下,基于彩票业务对脚本的特殊依赖性,并没有采用过渡到html4标签的做法,而是给用户提供一个提示启动js脚本的界面。
2011-05-11T09:19:00Z
2011-05-11T09:19:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】彩票新版首页已经悄无声息的上线一个月时间,目前只在老版首页中挂了一个链接入口,没有覆盖之前的版本,这种新旧版并行的措施,一方面为了给用户提供足够的缓冲,另外一方面则是收集用户的反馈意见,让我们的产品更加贴近用户。 此次彩票首页的改版,依然延续淘宝首页html5的革命事业,采用语义化的html5标签来布局页面,针对不支持html5的IE系列浏览器(IE8及其以下版本),采用js方法激活自定义标签即可。在用户禁用js脚本的情况下,基于彩票业务对脚本的特殊依赖性,并没有采用过渡到html4标签的做法,而是给用户提供一个提示启动js脚本的界面。 <a href="https://www.cnblogs.com/zhenn/archive/2011/05/11/2043329.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/27/1966445.html
object数据存储的无序性 - zhenn
object作为javascript的一种数据存储格式,采用哈希表的存取方式,即一个key对应唯一的值,这种特性会给开发带来很大的便利,但是也有一定的风险,正如你看到的文章标题,object数据存储时没有顺序的,当业务的需求对数据的顺序有严格要求的时候,这恰恰就是致你于死地的那滴毒液。
2011-02-27T13:20:00Z
2011-02-27T13:20:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】object作为javascript的一种数据存储格式,采用哈希表的存取方式,即一个key对应唯一的值,这种特性会给开发带来很大的便利,但是也有一定的风险,正如你看到的文章标题,object数据存储时没有顺序的,当业务的需求对数据的顺序有严格要求的时候,这恰恰就是致你于死地的那滴毒液。 <a href="https://www.cnblogs.com/zhenn/archive/2011/02/27/1966445.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959190.html
基于window.name的跨域解决方案 - zhenn
设置请求目标域页面的window.name,通过iframe引用至本域,由于js受到浏览器同源策略限制,无法跨域通信,取不到iframe中传过来的window.name设置值,所以需要在本域设置一个代理页面(空文件即可),监听iframe的load事件,一旦加载完成,设置iframe指向本域下的代理页面,此时就不存在跨域问题了,同时js可以取得iframe传输过来的跨域数据,即window.name值。
2011-02-20T11:08:00Z
2011-02-20T11:08:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】设置请求目标域页面的window.name,通过iframe引用至本域,由于js受到浏览器同源策略限制,无法跨域通信,取不到iframe中传过来的window.name设置值,所以需要在本域设置一个代理页面(空文件即可),监听iframe的load事件,一旦加载完成,设置iframe指向本域下的代理页面,此时就不存在跨域问题了,同时js可以取得iframe传输过来的跨域数据,即window.name值。 <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959190.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959189.html
2010年工作总结 - zhenn
今天是2011年1月10日,已经离2010年越来越远了(瞬间过去了一个多星期),过去的一年,工作中遭受过挫折,也收获了许多宝贵的开发经验,应该算是丰收的一年吧,本来打算在跨年那天做一个详细的工作总结发到博客,由于工作繁忙(借口),给耽搁了,时至今日权且把2010的述职报告借来用用吧。
2011-02-20T11:04:00Z
2011-02-20T11:04:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】今天是2011年1月10日,已经离2010年越来越远了(瞬间过去了一个多星期),过去的一年,工作中遭受过挫折,也收获了许多宝贵的开发经验,应该算是丰收的一年吧,本来打算在跨年那天做一个详细的工作总结发到博客,由于工作繁忙(借口),给耽搁了,时至今日权且把2010的述职报告借来用用吧。 <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959189.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959186.html
性能分析工具firebug.console.profile(title) - zhenn
很多的web开发人员都使用Mozilla firefox并且绝大多数都使用firebug来测试、调试前端代码,firebug在调试html+css方面的能力是毋庸置疑的,但仅仅使用它来完成这样的任务并没有发挥firebug的巨大潜能。 随着web apps越来越庞大,JavaScript的性能也被推到风头浪尖,在此之前或许你已经知道哪些操作会减缓JavaScript程序运行速度,并且养成良好的编码习惯。
2011-02-20T11:00:00Z
2011-02-20T11:00:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】很多的web开发人员都使用Mozilla firefox并且绝大多数都使用firebug来测试、调试前端代码,firebug在调试html+css方面的能力是毋庸置疑的,但仅仅使用它来完成这样的任务并没有发挥firebug的巨大潜能。 随着web apps越来越庞大,JavaScript的性能也被推到风头浪尖,在此之前或许你已经知道哪些操作会减缓JavaScript程序运行速度,并且养成良好的编码习惯。 <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959186.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959184.html
关于object键值对 - zhenn
对于object的取值,一种是通过逻辑定位符(.),另外一种就是通过hash map的方式。对于第一种方法,没有过多的疑问,对象标识符.对象键标识符,如var o = { a: 1} ; o.a就取到对象o的属性a的值,如果用哈希表的方法取,则为o['a'],那么一定要o['a']才可以吗?是否有其他方法呢?看下面这段“怪异”的代码:
2011-02-20T10:51:00Z
2011-02-20T10:51:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】对于object的取值,一种是通过逻辑定位符(.),另外一种就是通过hash map的方式。对于第一种方法,没有过多的疑问,对象标识符.对象键标识符,如var o = { a: 1} ; o.a就取到对象o的属性a的值,如果用哈希表的方法取,则为o['a'],那么一定要o['a']才可以吗?是否有其他方法呢?看下面这段“怪异”的代码: <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959184.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959182.html
常见的css hack总结 - zhenn
提及hack,总是和“猥琐”联系起来,的确使用hack并不能从根本上解决问题,只是一种临时补救的方法,并且会降低项目的可维护性,也难免给人留下如此“猥琐”的印象。 事实上,使用hack能帮助我们很快的完成工作任务,节省更多宝贵的时间去投入其他工作中,尤其在css方面,有时候面对一些无法规避的bug,使用hack还是非常有效的。即使自己很少或者从不使用,但作为一个知识点,个人认为还是有必要略知一二的,当你维护别人的代码的时候(各种hack),也不至于手忙脚乱。
2011-02-20T10:49:00Z
2011-02-20T10:49:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】提及hack,总是和“猥琐”联系起来,的确使用hack并不能从根本上解决问题,只是一种临时补救的方法,并且会降低项目的可维护性,也难免给人留下如此“猥琐”的印象。 事实上,使用hack能帮助我们很快的完成工作任务,节省更多宝贵的时间去投入其他工作中,尤其在css方面,有时候面对一些无法规避的bug,使用hack还是非常有效的。即使自己很少或者从不使用,但作为一个知识点,个人认为还是有必要略知一二的,当你维护别人的代码的时候(各种hack),也不至于手忙脚乱。 <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959182.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959180.html
你真的了解prototype吗? - zhenn
JavaScript中的prototype,即构造函数的原型对象,我想对于使用过JavaScript oo模式编程的你来说,肯定都能很好的利用prototype的特性来编写出优美的面向对象的代码,因为它的确很好用。但是你真的足够了解prototype吗? 首先我觉得,在分析prototype之前,应该先了解为什么要使用prototype来实现继承,而并不是把所有属性写到构造函数内部,那么这样做优势体现在哪里呢,如果你跟我有一样的困惑,请看如下两段代码:
2011-02-20T10:46:00Z
2011-02-20T10:46:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】JavaScript中的prototype,即构造函数的原型对象,我想对于使用过JavaScript oo模式编程的你来说,肯定都能很好的利用prototype的特性来编写出优美的面向对象的代码,因为它的确很好用。但是你真的足够了解prototype吗? 首先我觉得,在分析prototype之前,应该先了解为什么要使用prototype来实现继承,而并不是把所有属性写到构造函数内部,那么这样做优势体现在哪里呢,如果你跟我有一样的困惑,请看如下两段代码: <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959180.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959174.html
关于IE透明度失效的问题 - zhenn
近期项目中,发现这个诡异的问题,IE(以下如有特殊说明,指全部IE系列浏览器)下透明滤镜竟然会失效。起因在于,在做一个lightbox时,发现遮罩层透明效果是失效的,在第一时间里,我当然是把问题定位在YUI组建设计的缺陷上,但是当我用IE调试工具看到遮罩层渲染的样式时,我震惊了。如下图:
2011-02-20T10:39:00Z
2011-02-20T10:39:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】近期项目中,发现这个诡异的问题,IE(以下如有特殊说明,指全部IE系列浏览器)下透明滤镜竟然会失效。起因在于,在做一个lightbox时,发现遮罩层透明效果是失效的,在第一时间里,我当然是把问题定位在YUI组建设计的缺陷上,但是当我用IE调试工具看到遮罩层渲染的样式时,我震惊了。如下图: <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959174.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959063.html
js浮点数运算的bug - zhenn
老实说在今天之前,我对javascript的浮点数运算毫无认识,觉得应该和实际运算中一样,然而,有些事情往往会出人意料。 先看一组数据: 0.1 + 0.11 = 0.21000000000000002 0.2 * 3 = 0.6000000000000001 0.7 / 10 = 0.06999999999999999 你相信吗?如果不信,那么立即打开firefox浏览器测试吧。有一点可以确信,你看到测试结果的表情,一定先是惊讶,后来是迷惑。
2011-02-20T07:30:00Z
2011-02-20T07:30:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】老实说在今天之前,我对javascript的浮点数运算毫无认识,觉得应该和实际运算中一样,然而,有些事情往往会出人意料。 先看一组数据: 0.1 + 0.11 = 0.21000000000000002 0.2 * 3 = 0.6000000000000001 0.7 / 10 = 0.06999999999999999 你相信吗?如果不信,那么立即打开firefox浏览器测试吧。有一点可以确信,你看到测试结果的表情,一定先是惊讶,后来是迷惑。 <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959063.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959062.html
一个关于倒计时的类 - zhenn
近期在做排列五的彩票项目,每一期都有购彩时段,即用户打开这个排列五的页面时,会从服务器传来一个remaintime(离本次彩期结束的剩余时间),然后这个时间在客户端递减呈现给用户看,让用户获得本次彩期的剩余时间。
2011-02-20T07:27:00Z
2011-02-20T07:27:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】近期在做排列五的彩票项目,每一期都有购彩时段,即用户打开这个排列五的页面时,会从服务器传来一个remaintime(离本次彩期结束的剩余时间),然后这个时间在客户端递减呈现给用户看,让用户获得本次彩期的剩余时间。 <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959062.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959059.html
悟透事件捕获和冒泡 - zhenn
对“捕获”和“冒泡”这两个概念,我想我们对冒泡更熟悉一些,因为在我们使用的所有浏览器中,都支持事件冒泡,即事件由子元素向祖先元素传播的,就像气泡从水底向水面上浮一样。而在像firefox,chrome,safari这类所谓的标准浏览器中,事件传播还有个阶段,那就是捕获阶段,这个很少有用武之地,所以被人疏忽遗忘也在所难免了,不常用不代表它不存在,本着科学严谨的态度,我们有必要去看一下它的庐山真面目。
2011-02-20T07:20:00Z
2011-02-20T07:20:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】对“捕获”和“冒泡”这两个概念,我想我们对冒泡更熟悉一些,因为在我们使用的所有浏览器中,都支持事件冒泡,即事件由子元素向祖先元素传播的,就像气泡从水底向水面上浮一样。而在像firefox,chrome,safari这类所谓的标准浏览器中,事件传播还有个阶段,那就是捕获阶段,这个很少有用武之地,所以被人疏忽遗忘也在所难免了,不常用不代表它不存在,本着科学严谨的态度,我们有必要去看一下它的庐山真面目。 <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959059.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959018.html
解决attachEvent中this指向问题 - zhenn
给dom元素绑定事件监听,很easy,即使刚入门的javascript编程人员都可以办到,比如obj.onclick = fn就可以很轻松的监听obj的单击事件,这固然是没有问题的,但是问题就在于在这个监听过程中,很难触发N个代码片段...
2011-02-20T06:31:00Z
2011-02-20T06:31:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】给dom元素绑定事件监听,很easy,即使刚入门的javascript编程人员都可以办到,比如obj.onclick = fn就可以很轻松的监听obj的单击事件,这固然是没有问题的,但是问题就在于在这个监听过程中,很难触发N个代码片段... <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959018.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959007.html
巧用”&&”和”||” - zhenn
对于&&和||运算符,相信大家都用过,分别进行逻辑与运算和逻辑或运算符。如果&&的第一个运算数是false,则不再考虑第二个运算数,直接返回false。如果||的第一个运算数是true,那么也不再考虑第二个运算数。
2011-02-20T06:25:00Z
2011-02-20T06:25:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】对于&&和||运算符,相信大家都用过,分别进行逻辑与运算和逻辑或运算符。如果&&的第一个运算数是false,则不再考虑第二个运算数,直接返回false。如果||的第一个运算数是true,那么也不再考虑第二个运算数。 <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959007.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1959001.html
值传递和地址传递 - zhenn
一个陷阱,引发一次深刻的思考,代码如下: var a = 11111; var b = { pro: "test" } function fn(a,b){ a = 2222; b.pro = "zhenn"; } fn(a,b); console.log(a); // 11111 console...
2011-02-20T06:22:00Z
2011-02-20T06:22:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】一个陷阱,引发一次深刻的思考,代码如下: var a = 11111; var b = { pro: "test" } function fn(a,b){ a = 2222; b.pro = "zhenn"; } fn(a,b); console.log(a); // 11111 console... <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1959001.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1958997.html
诡异的delete - zhenn
delete这个操作符呢,在javascript中不是很常用,但是他的特性的确很诡异。 1,删除对象的属性,代码: var o = { a: 1, b: 2 }; delete o.a; alert(o.a); //undefined 那么到底delete删除的是对象的属性还是对象的属性值...
2011-02-20T06:20:00Z
2011-02-20T06:20:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】delete这个操作符呢,在javascript中不是很常用,但是他的特性的确很诡异。 1,删除对象的属性,代码: var o = { a: 1, b: 2 }; delete o.a; alert(o.a); //undefined 那么到底delete删除的是对象的属性还是对象的属性值... <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1958997.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1958991.html
关于javascript作用域 - zhenn
今天一个挚友给我出了道javascript笔试题,代码如下: function test(){ var a = b = 2; } test(); alert(b); alert(a); 我看到这段代码,我笑了,很自信的回答道,会报错,因为a,b都是局部变量,所以a and b is not...
2011-02-20T06:15:00Z
2011-02-20T06:15:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】今天一个挚友给我出了道javascript笔试题,代码如下: function test(){ var a = b = 2; } test(); alert(b); alert(a); 我看到这段代码,我笑了,很自信的回答道,会报错,因为a,b都是局部变量,所以a and b is not... <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1958991.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1958990.html
计算字符串中出现次数最多的字符和出现的次数 - zhenn
“计算出字符串中出现次数最多的字符是什么,出现了多少次?” 看到这个需求,我想大多数人应该首先想到的是转换成数组,再做处理,当然是可以解决问题的,然后这里提供一个巧妙的算法设计,无需转数组,可以很快解决问题,代码如下: var str = "adadfdfseffserfefsefseeffff...
2011-02-20T06:13:00Z
2011-02-20T06:13:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】“计算出字符串中出现次数最多的字符是什么,出现了多少次?” 看到这个需求,我想大多数人应该首先想到的是转换成数组,再做处理,当然是可以解决问题的,然后这里提供一个巧妙的算法设计,无需转数组,可以很快解决问题,代码如下: var str = "adadfdfseffserfefsefseeffff... <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1958990.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhenn/archive/2011/02/20/1958968.html
javascript设计模式学习笔记之“类式继承” - zhenn
在做一件事情之前,首先要清楚做这件事情的好处有什么,相信不会有哪个人愿意无缘无故的去做事情。一般说来,我们在设计类的时候,实际上就是希望能减少重复性的代码,使用继承可以完美的做到这一点,借助继承机制,你可以在现有类的基础上再次进行设计并且充分利用它们已经具备的各种方法,而对设计的修改也更为轻松。废话...
2011-02-20T05:58:00Z
2011-02-20T05:58:00Z
zhenn
https://www.cnblogs.com/zhenn/
【摘要】在做一件事情之前,首先要清楚做这件事情的好处有什么,相信不会有哪个人愿意无缘无故的去做事情。一般说来,我们在设计类的时候,实际上就是希望能减少重复性的代码,使用继承可以完美的做到这一点,借助继承机制,你可以在现有类的基础上再次进行设计并且充分利用它们已经具备的各种方法,而对设计的修改也更为轻松。废话... <a href="https://www.cnblogs.com/zhenn/archive/2011/02/20/1958968.html" target="_blank">阅读全文</a>