摘要:之前写过一篇博文——《写一个事件队列操作函数》。觉得catchen对异步事件队列相关的实现过于复杂,且并不易用。于是根据自己的理解,写了个很简单的辅助方法。并且当时对此颇为得意。这几天看了相关的视频和slide才知道,为什么他实现的这么复杂并且直接使用的时候也不好用。很简单,复杂的实现是为了复杂的应用而设计的。它处理更多的情况,当你不了解的时候,一般总难以理解为什么。而使用麻烦并不真的是难用,只是在错误的地方进行了应用才会有这种感觉。。视频在此《复杂Ajax应用开发模式》Slide在此《JavaScript Patterns》
阅读全文
摘要:测试同学那边提交了一个bug,是360浏览器下无法使用加入收藏夹功能。我简单的看了下,在ie浏览器下,加入收藏夹的功能是正常的,而360显然用的是ie内核,理论上没理由不行的。不过还是下载了360自己试了一下,没想到真的不行。。于是开始了这次的调式:首先上测试代码[代码]事实证明,360使用的ie的内核,但是也确实没有得到预想的效果。由于在360下,即时有错也看不到错误提示,所以简单的判断就是,w...
阅读全文
摘要:前段时间做项目,由于是第一次独立做这么完整的项目demo,很郁闷、很纠结、很忙乱。。。总之是郁闷到不行,但也得到了一些做项目的经验和教训。其他的就不说了。bug描述如下input/text外层浮动+边距导致二倍边距 IE绝对定位元素神秘消失 都是些莫名其妙的问题,解决的方案老实说也是怪怪的,没办法,非常bug用非常手段。突然觉得有必要手机和整理一个 ie bugs list。不然遇到这些问题还真是...
阅读全文
摘要:关于bug认定:之所以认为这是bug,主要参考了jQuery实现的效果。KISSY在开发中参考了其他类库的优点,jQuery自然是其中之一。bug描述:当利用S.Node方法将字串转换为NodeList,返回的对象是DocumentFragment对象,与预期不符。bug原因分析:在创建大量元素的情况下,基于性能等原因,我们会将元素先存放到超空间中,在完成所有元素的创建以后一起添加到页面中。一般我...
阅读全文
摘要:ua模块,在大部分的框架/库中代表的是浏览器判断的模块。关于浏览器判断,基本上都是依赖对userAgent中的标识进行识别来区分浏览器的。看到过部分框架/库采用特征嗅探来判断,个人觉得比较不靠谱。你不能因为A浏览器借鉴了B浏览器的某个方法或者属性就把A识别成了B对吧?而且就目的因素来说,特征嗅探是针对功能的,而ua判断是针对浏览器标识的。如果是为了检测功能/属性是否可用而调用ua判断浏览器,逻辑上...
阅读全文
摘要:要是不知道思路,有些奇怪的细节总是搞不明白。在这种情况下,写源码注释感觉很不踏实。从来没用过yui或者其他库的loader方法。在不了解实现思路的情况下看代码,很辛苦。。1、add一个模块,实际上只是把对应的数据保存在KISSY.Env中。并没有对KISSY做什么实质上的操作。这个时候,模块的保存状态是undefined的。2、当需要引用对应的模块功能的时候,需要use该模块。 这个时候分两步操作...
阅读全文
摘要:这是第二部分,关于KISSY中的lang模块。相比kissy中主要作为组织代码的方法和函数。这个模块更多的是工具类型的。文件下载:kissy-lang.js
阅读全文
摘要:有这么一个情况,大部分时候框架的API常常让人犹豫和不知所措。除了jQuery,其他的类库大都是API看起来比源码要复杂,让人头疼。kissy在一定程度上借鉴了jQuery的接口写法,但API Docs目前看起来更偏向YUI的风格(事实上,大部分类库的风格都类似,真正的差别还是在API设计上)。所以准备要好好看看kissy的源码,并在此做个记录。还是老毛病,嘴笨——同样的,...
阅读全文
摘要:http://yiminghe.javaeye.com/blog/734867这些提到的一些东西,其实我们很多时候是看到过的。比如:在第一次执行count方法以后,count方法已经被替换为这才是它本来就要执行的东西,其他的都是虚的。没有多余的变量,没有烦人的if-else嵌套。。我觉得yiminghe的方法很好。我喜欢这种帮你把代码理清的函数工具。提升效率有很多方面,对于web页面(特别是首页)...
阅读全文
摘要:关于css应用。以前一直认为css就是做布局样式,只能表现页面,跟交互是没关系的。事实上也基本不会往那边想。但灵活应用CSS会有给人眼前一亮的感觉!以下用一个简单的例子来阐述我想说的。CSS代码:HTML代码:效果如下:需要的效果是:1、初始时,所有的子菜单都是隐藏的。2、点击菜单项,相应的子菜单列表显示。3、再点击, 子菜单隐藏。半年前的我的做法会是这样:取得#nav中的h3元素,循环在其上添加...
阅读全文
摘要:话说,人就是要被关注才有动力啊。。于是修改了下上次写的《添加JavaScript重载函数的辅助方法》在添加方法的时候增加了一个参数 用于限制参数的类型。代码依然简单。所以依然没什么好解释的。。下面是示例:
阅读全文
摘要:该篇文章观点是错误的!大家不用看了。。如果你想知道原因,请参看评论中zhangle的回答!! 关于JSON对象,你可以参看wikipedia(http://zh.wikipedia.org/zh-cn/JSON),还有官方网站(http://www.json.org/json-zh.html)。 我们常说JavaScript原生支持json,因为我们可以认为json就是对JavaScript的...
阅读全文
摘要:大家都习惯了重载带来的便利。JavaScript有没有重载呢?有人会回答没有,因为函数会被覆盖;有人说有,我们可以模拟重载这 一操作。JavaScript的重载函数,一般是靠对arguments判断来操作的。比如:var afunc = function() { args = arguments; if(args.length == 1) { console.log(1); }else if(ar...
阅读全文
摘要:前两天在网上看到这一系列的文章《写一个JavaScript异步调用框架1,2,3,4,5,6》。异步操作可能会产生你不希望的事件触发顺序。这个问题以前也遇到过,当时没想太多,也就是直接多层嵌套(在ajax返回以后嵌套下一个事件)来解决。认真的看了一遍。看的头昏,不得不说我可能基础并不好,在大局上的掌握也不好。d反正我是觉得很难理解,也不觉得它的调用时够方便的。 如果是这么调用:var chai...
阅读全文
摘要:自从使用了jQuery以后,对它的链式操作很是依赖,以至于常常觉得其他库不好用。。虽然现在慢慢减少了对jQuery的使用(项目上还是用,效率高点。平时基本不用了),希望从而减少对jQuery的依赖度。但是这链式操作的方式实在吸引人(貌似现在不少新库都采用了链式操作)。新手无畏嘛,所以写了以下代码。主要是避免以后又忘了,呵呵。这只是进行了链式操作。但是在firbug下可以看到jQuery对象返回的是...
阅读全文
摘要:项目需要对Canvas画的矢量图形(主要是面)进行色彩的填充和设置透明度。原来想到的是对Canvas对象进行样式设置:filter:alpha(opacity=80);opacity:0.8;在firefox下看来效果不错。转到IE上就没有效果了。于是当下想到的是IE对自定义的标签的样式渲染上有问题。在这个前提下google得到的资料都麻烦的很,命名空间之类的东西,只是加个透明度而已没必要这么麻烦...
阅读全文