天行健、君子以自强不息;地势坤、君子以厚德载物!

关于我

zhenn 前端工程师,淘宝 北京!这里仅仅记录我的技术生活以及成长历程,如果有兴趣和我交流,猛击以下链接即可。
follow zhenn in TC Microblog
follow zhenn in SinaTwitter

随笔分类 -  javascript

rt
object数据存储的无序性
摘要:object作为javascript的一种数据存储格式,采用哈希表的存取方式,即一个key对应唯一的值,这种特性会给开发带来很大的便利,但是也有一定的风险,正如你看到的文章标题,object数据存储时没有顺序的,当业务的需求对数据的顺序有严格要求的时候,这恰恰就是致你于死地的那滴毒液。 阅读全文

posted @ 2011-02-27 21:20 zhenn 阅读(2708) 评论(10) 推荐(6)

关于object键值对
摘要:对于object的取值,一种是通过逻辑定位符(.),另外一种就是通过hash map的方式。对于第一种方法,没有过多的疑问,对象标识符.对象键标识符,如var o = { a: 1} ; o.a就取到对象o的属性a的值,如果用哈希表的方法取,则为o['a'],那么一定要o['a']才可以吗?是否有其他方法呢?看下面这段“怪异”的代码: 阅读全文

posted @ 2011-02-20 18:51 zhenn 阅读(1284) 评论(0) 推荐(0)

你真的了解prototype吗?
摘要:JavaScript中的prototype,即构造函数的原型对象,我想对于使用过JavaScript oo模式编程的你来说,肯定都能很好的利用prototype的特性来编写出优美的面向对象的代码,因为它的确很好用。但是你真的足够了解prototype吗? 首先我觉得,在分析prototype之前,应该先了解为什么要使用prototype来实现继承,而并不是把所有属性写到构造函数内部,那么这样做优势体现在哪里呢,如果你跟我有一样的困惑,请看如下两段代码: 阅读全文

posted @ 2011-02-20 18:46 zhenn 阅读(910) 评论(0) 推荐(3)

js浮点数运算的bug
摘要:老实说在今天之前,我对javascript的浮点数运算毫无认识,觉得应该和实际运算中一样,然而,有些事情往往会出人意料。 先看一组数据: 0.1 + 0.11 = 0.21000000000000002 0.2 * 3 = 0.6000000000000001 0.7 / 10 = 0.06999999999999999 你相信吗?如果不信,那么立即打开firefox浏览器测试吧。有一点可以确信,你看到测试结果的表情,一定先是惊讶,后来是迷惑。 阅读全文

posted @ 2011-02-20 15:30 zhenn 阅读(2076) 评论(0) 推荐(0)

一个关于倒计时的类
摘要:近期在做排列五的彩票项目,每一期都有购彩时段,即用户打开这个排列五的页面时,会从服务器传来一个remaintime(离本次彩期结束的剩余时间),然后这个时间在客户端递减呈现给用户看,让用户获得本次彩期的剩余时间。 阅读全文

posted @ 2011-02-20 15:27 zhenn 阅读(455) 评论(0) 推荐(0)

悟透事件捕获和冒泡
摘要:对“捕获”和“冒泡”这两个概念,我想我们对冒泡更熟悉一些,因为在我们使用的所有浏览器中,都支持事件冒泡,即事件由子元素向祖先元素传播的,就像气泡从水底向水面上浮一样。而在像firefox,chrome,safari这类所谓的标准浏览器中,事件传播还有个阶段,那就是捕获阶段,这个很少有用武之地,所以被人疏忽遗忘也在所难免了,不常用不代表它不存在,本着科学严谨的态度,我们有必要去看一下它的庐山真面目。 阅读全文

posted @ 2011-02-20 15:20 zhenn 阅读(5348) 评论(5) 推荐(5)

解决attachEvent中this指向问题
摘要:给dom元素绑定事件监听,很easy,即使刚入门的javascript编程人员都可以办到,比如obj.onclick = fn就可以很轻松的监听obj的单击事件,这固然是没有问题的,但是问题就在于在这个监听过程中,很难触发N个代码片段... 阅读全文

posted @ 2011-02-20 14:31 zhenn 阅读(2337) 评论(2) 推荐(0)

巧用”&&”和”||”
摘要:对于&&和||运算符,相信大家都用过,分别进行逻辑与运算和逻辑或运算符。如果&&的第一个运算数是false,则不再考虑第二个运算数,直接返回false。如果||的第一个运算数是true,那么也不再考虑第二个运算数。 阅读全文

posted @ 2011-02-20 14:25 zhenn 阅读(500) 评论(0) 推荐(0)

值传递和地址传递
摘要:一个陷阱,引发一次深刻的思考,代码如下: var a = 11111; var b = { pro: "test" } function fn(a,b){ a = 2222; b.pro = "zhenn"; } fn(a,b); console.log(a); // 11111 console... 阅读全文

posted @ 2011-02-20 14:22 zhenn 阅读(316) 评论(0) 推荐(0)

诡异的delete
摘要:delete这个操作符呢,在javascript中不是很常用,但是他的特性的确很诡异。 1,删除对象的属性,代码: var o = { a: 1, b: 2 }; delete o.a; alert(o.a); //undefined 那么到底delete删除的是对象的属性还是对象的属性值... 阅读全文

posted @ 2011-02-20 14:20 zhenn 阅读(253) 评论(0) 推荐(0)

关于javascript作用域
摘要:今天一个挚友给我出了道javascript笔试题,代码如下: function test(){ var a = b = 2; } test(); alert(b); alert(a); 我看到这段代码,我笑了,很自信的回答道,会报错,因为a,b都是局部变量,所以a and b is not... 阅读全文

posted @ 2011-02-20 14:15 zhenn 阅读(222) 评论(0) 推荐(0)

计算字符串中出现次数最多的字符和出现的次数
摘要:“计算出字符串中出现次数最多的字符是什么,出现了多少次?” 看到这个需求,我想大多数人应该首先想到的是转换成数组,再做处理,当然是可以解决问题的,然后这里提供一个巧妙的算法设计,无需转数组,可以很快解决问题,代码如下: var str = "adadfdfseffserfefsefseeffff... 阅读全文

posted @ 2011-02-20 14:13 zhenn 阅读(577) 评论(0) 推荐(0)

javascript设计模式学习笔记之“类式继承”
摘要:在做一件事情之前,首先要清楚做这件事情的好处有什么,相信不会有哪个人愿意无缘无故的去做事情。一般说来,我们在设计类的时候,实际上就是希望能减少重复性的代码,使用继承可以完美的做到这一点,借助继承机制,你可以在现有类的基础上再次进行设计并且充分利用它们已经具备的各种方法,而对设计的修改也更为轻松。废话... 阅读全文

posted @ 2011-02-20 13:58 zhenn 阅读(340) 评论(1) 推荐(0)

JavaScript日历控件
摘要:由于项目需要,写了个日历控件,仿照windows的日历写的,可以添加备忘录,备忘录操作所存取数据,没有数据库的支持,只在js中建立一个数组来存储,故而在不刷新页面的情况下,可以进行添加查看备忘录操作,如需和服务器进行交互,使用ajax也十分的方便! demo如下: JavaScript日... 阅读全文

posted @ 2011-02-20 13:37 zhenn 阅读(1071) 评论(0) 推荐(0)

面向对象的tab(选项卡)
摘要:tab(选项卡)技术很常见,即使刚踏入前端开发的同学都会使用它去完成一些基本的任务。这里讨论的是一种面向对象的tab,其实是换一种设计模式来设计代码,这里用到的是简单工厂,这个Tab类提供很多借口,如onSwitch,switchTo...利用这个tab组件可以定制形式多样化的tab。 使用方法简单... 阅读全文

posted @ 2011-02-20 13:24 zhenn 阅读(663) 评论(0) 推荐(0)

神奇的call()
摘要:先看看关于call()的官方解释,“调用一个对象的一个方法,以另一个对象替换当前对象。”,看了这样的解释,或许让你更摸不着头脑了。看例子: 1 var x = "我是全局变量"; //定义全局变量x 2 function a(){ //定义函数类结构a 3 this.x = "我是在函数类... 阅读全文

posted @ 2011-02-20 00:16 zhenn 阅读(285) 评论(0) 推荐(0)

可控制的左右滚动
摘要:在此之前,针对页面中的这种效果,一直用sina的某高人写的脚本,因为写的真的不错,可扩展性很强,但是在ie8面世之后,却发现在ie8中不兼容,所有滚动元素只能在可视范围内滚动一次。 既然如此,这个脚本就不能再用了,毕竟随着win7被炒的越来越热,而ie8又预装在win7中,所以不得不考虑不兼容ie8... 阅读全文

posted @ 2011-02-20 00:02 zhenn 阅读(1450) 评论(0) 推荐(1)

七彩贪吃蛇
摘要:不得不承认,兴趣是激发人进步的最好催化剂。以前还没写过类似这样的东西,不过数月之前就很想把他写出来,由于时间的短缺,一直没有执行,直到这个周末, 终于按捺不住写了这个“七彩贪吃蛇”,虽然功能很简单,但是对我来说,还是从中汲取了不少养分,或者说以前掌握的知识点记得更牢固了,要不怎么说实践是最 好的老师... 阅读全文

posted @ 2011-02-19 23:44 zhenn 阅读(527) 评论(0) 推荐(0)

javascript定义函数的三种方法
摘要:在JavaScript的世界里,定义函数的方法多种多样,这正是JavaScript灵活性的体现,但是正是这个原因让初学者摸不着头脑,尤其对于没有 语言基础的同学。正所谓条条大道通罗马,但是如果道路太多,会让行路者不知所措,因为不知道走那条路才是正途,呵呵,废话一大篇,闲言少叙,先看代码: 1 ... 阅读全文

posted @ 2011-02-19 23:27 zhenn 阅读(11506) 评论(0) 推荐(0)

取消事件冒泡
摘要:在默认情况下,发生在一个子元素上的单击事件(或者其他事件),如果在其父级元素绑定了一个同样的事件,此时点击子元素,click事件会首先被子元素捕获,执行绑定的事件程序,之后会被父级元素捕获,再次激发一段脚本的执行,这就是所谓的“事件冒泡”。 看个例子: 无标题文档 运行... 阅读全文

posted @ 2011-02-19 23:04 zhenn 阅读(3416) 评论(0) 推荐(0)

导航