摘要:
本文也发表在我另一篇独立博客qingbob.com: 《答寒冬的面试题1》有关注前端和微博的朋友一定留意到了前一阵寒冬和玉伯关于前端面试的讨论,后来老赵和左耳朵耗子也加入其中,讨论带来了非常多的启发和思考——不久之前自己也经历了几轮面试,决心对自己的基础开始加强,正巧寒冬老师题目由浅入深,非常有代表性,有些概念自己也模糊,决心花时间把这些概念全部弄清楚,梳理一遍寒冬的微博原文如下面试的时候问个css的position属性能刷掉一半的人这是啥情况……其实这问题我本来打算的是可以顺着一路扯到normal flow、containing block、bfc、margin collapse,base 阅读全文
摘要:
本文同时发表在另一独立博客上http://qingbob.com/blog/%E8%B0%88javascript%E5%8F%98%E9%87%8F%E5%A3%B0%E6%98%8E这篇文章还是对基础的复习,对面试经历的一个总结。之前的面试中遇到过一道面试题var a =10;(function(){ console.log(a); var a =20;})()短短5行代码log的结果是什么?如果把var a = 20;和console.log(a)语句顺序对调呢?这道题目的答案是undefined。不是10。关键在于javascript的变量声明有一个hoisting机制,变... 阅读全文
摘要:
本文同时发布在另一独立博客Javascript: 从prototype漫谈到继承(1)javasscript的prototype原型链一直是一个难点,这篇文章是对自己这段时期学习的一个总结,在这里不谈ECMAScript标准,也不会用UML图画出各种关系(结合这两方面谈的文章非常的多,但大部分都相当晦涩,比如汤姆大叔),只力求最浅显易懂,深入浅出,供以后自己和各位参考。javascript的function一种对象(object),他们有方法和属性,方法比如call/apply,而prototype则是function的一个属性。一旦你定义了一个函数,它即自带了一个prototype属性fun 阅读全文
摘要:
这篇也同时发布在我另一个独立博客http://qingbob.com这篇文章主要谈谈Nicolas对css命名的看法。还总结了一些其他前端团队的css规范供大家参考。Nicolas Gallagher可以说是一位大神级的人物。这篇文章About HTML semantics and front-end architecture是他它对css组织和命名的一些看法,也相当值得我们一读。这篇文章主要是谈html的语义(semantics)化。比如他反对class的命名以内容为驱动(content-derived),比如这样<divclass="news"><h2 阅读全文
摘要:
最近下决心整理一份对页面元素的组织规则和CSS的命名规则,因为深深感受到如果页面上元素太多,没有规则的命名和组织会让网页的维护性大打折扣。参考了几篇文章并且发散了一下,在这里和大家分享BEM(Block Element Modifier)本文同时也发表在另一个独立博客http://qingbob.com/blog/如何组织Html元素与如何进行CSS命名(上)如何组织页面上的元素,或者说安排元素之间的关系势必会对css命名产生影响;css命名也是对元素关系的映射。BEM这个方法把元素分为三类,代指Block,Element,Modifier。举个例子,通常我们会把页面分为header, bod 阅读全文
摘要:
这篇文章是对这一两年内几篇dom ready文章的汇总(文章的最后会标注参考文章),因为浏览器进化的关系,可能他们现在的行为与本文所谈到的一些行为不相符。我也并没有一一去验证,所以本文仅供参考,在具体开发中还是要以实践结果为准。当onload事件触发时,页面上所有的DOM,样式表,脚本,图片,flash都已经加载完成了。当DOMContentLoaded事件触发时,仅当DOM加载完成,不包括样式表,图片,flash。我们需要给一些元素的事件绑定处理函数。但问题是,如果那个元素还没有加载到页面上,但是绑定事件已经执行完了,是没有效果的。这两个事件大致就是用来避免这样一种情况,将绑定的函数放在这两 阅读全文
摘要:
在开发自己的博客引擎的过程中,遇到的第一个问题就是如何实现图片的上传。如果对express中的app.post('/', function (req, res))方法熟悉的话,方法中的req.files已经代表的是上传的文件,打印出来之后可以看到文件的一系列属性,比如说通过上传的路由,重命名之后的名称,存放的路径,文件的大小等等:{ size:74643, path:'/tmp/8ef9c52abe857867fd0a4e9a819d1876', name:'edge.png', type:'image/png', hash:fa 阅读全文
摘要:
上周学习了新的javascript框架Ember,接下来将这个框架与backbone做一些简单比较,同时做一些总结一.个人感觉Ember相对于Backbone具有更高的灵活性: 1.Backbone只支持对Model和View的拓展,并且个人感觉Collection这个类的设定很鸡肋 2.Ember不仅支持对Model的拓展,还另支持对Control等其他类的拓展,即使在定义之后也可以通过方法对类进行修改。创建实例的方式也不仅仅是通过对类的实例化,可以在没有类的情况下直接创建一个实例二.Ember的灵活也有是有代价的,比如它的封闭性 1.Ember提供了创建命名空间的接口 2.Embe... 阅读全文
摘要:
在这一篇中我将解释两种更高级的事件绑定模型:W3C和微软。又因为没有一种真正跨浏览器的,所以,至少现在,并不赞成使用它们。W3C和微软都开发了它们自己的事件绑定模型,用来取代Netscape的传统模型。我对微软的模型颇为不爽,但是W3C的除了一点小瑕疵外还是不错的,可不幸的是很少的浏览器支持它。w3cw3c的DOM level2对传统模型中出现的问题都给予了特别的注意。它提供了一种简单的绑定方式,你可以在同一个元素上绑定随意数量的处理函数w3c事件绑定模型的关键在于它的addEventListener()方法。你需要传入三个参数:事件类型,需要执行的函数,和一个布尔值(true or fals 阅读全文
摘要:
我同样也是个javascript新手,怎么说呢,先学的jquery,精通之后发现了javascript的重要性,再回过头来学javascript面向对象编程。最近看了几篇有关javascript闭包的文章,包括最近正火的汤姆大叔系列,还有《javascript高级程序设计》中的文章,……我看不懂,里面有些代码是在大学教科书中看都没看过的,天书一般。幸好最近遇到两本好书《ppk on javascript》和《object-oriented JavaScript》,正字阅读中,后者还没有中文版,但前者还是建议看原版,写的不复杂,有兴趣的朋友可以看看,适合想进阶的朋友。今天就结合这两本书,用最浅显 阅读全文