摘要:
第一次完整看一遍(JavaScript设计模式)该模式的介绍,感觉这不就是继承而已吗,只不过可能是部分继承。 混入(Mixin)模式 定义: Mixin是可以轻松被一个子类或一组子类继承功能的类,目的是函数复用。继承Mixin是扩展功能的方式,另外也可能从多个Mixin类进行继承。 继承方式: 这个 阅读全文
摘要:
这个模式是我觉得最好懂的模式。 外观(Facade)模式 定义: 外观模式是一种结构型模式。它为更大的代码体提供了一个方便的高层次接口,能够隐藏其底层的真实复杂性。简单说就是——小接口有大智慧。 例子: 使用jQuery的$(el).css()或$(el).animate()方法时,实际上我们是在使 阅读全文
摘要:
这个模式我在书上(JavaScript设计模式)的那个章节来来回回看了几遍,有两个关键点并没有说清楚,导致尽管表面上是很简单明了,但本质没有说清,以下是书上的例子。 书中淡解 例子(改前): 例子(改后,命名模式): 我想不明白,凭什么加上这个方法,就得到了优化,哪里就解耦了。 当carManage 阅读全文
摘要:
今天早上遇到很郁闷的事。在微信约定11点去驾校拿东西,教练并没有回应我可不可以,我就默认当他是可以的。于是按时去到时,找他才发现他不在,白跑了。 那个时候我真的很生气,我气我约了个时间不回我,让我误以为可以,害我白跑一趟。不过在回去的路上,我反思问题出在哪里,我发现这里面的问题—— 教练并没有说可以 阅读全文
摘要:
在读这个模式,头脑里就浮想两个问题: 1. JavaScript的原型模式与普遍的原型模式有什么区别? 2. JavaScript的原型模式与prototype有什么关系? 原型(prototype)模式定义 原型模式(创建型设计模式)是用一个对象做模板,克隆出新对象。 另外原型模式中的克隆分为"浅 阅读全文
摘要:
偶然在B站看到有人介绍这部动漫,于是就翻来看看。 我看到两三集的时候,看看男主我一直觉得不对劲,那个画风感觉就是逗,怎么看怎么像樱桃小丸子的爷爷,你们感受下。 (一拳超人) (樱桃小丸子的爷爷) 看完整一季给我最大的感受就是这个,画风正常的时候又像死神里面的斑目一角,再感受下。 (一拳超人) (斑目 阅读全文
摘要:
在《JavaScript设计模式》关于中介者模式的介绍里,里面有些错误和擅自添加的例子,虽然例子(英文版没有)是为了让人更好理解,但是该篇章加上的例子却给人误导的感觉,所以如果有人读这个章节时,建议看英文版。 在看这个模式时候,我只想弄明白一点,中介者模式与订阅/发布模式的区别在哪? 中介者(Med 阅读全文
摘要:
在未读《JavaScript设计模式》这本书前,在我的印象里,单例模式就是每个类只会产生一个实例,非常简单。在细看到这个模式时候,有些疑惑单例模式与工厂模式的区别,虽然看起来像最大区别在于是否多次实例化。 单例(Singleton)模式 单例模式它限制了类的实例化次数只能一次。在实例不存在的情况下, 阅读全文
摘要:
这一篇主要讲述构造器(Constructor)模式和模块(Module)模式以及相关的变体模式,例子是JavaScript代码。 构造器(Constructor)模式 对象构造器用于创建特定类型的对象——准备好对象以备使用,同时接收构造器可以使用的参数,以在第一次创建对象时,设置成员属性和方法的值。 阅读全文
摘要:
经过一段工作时间的沉淀后,我发现需要细看一些书籍验证当中获得的经验。在JavaScript上的结构和模式上的考虑,使我决定精读《JavaScript设计模式》(中文版)。在阅读的过程中,发现中文版的某些译文有些不适当的时候,我就会查询相应英文版《Learning JavaScript Design 阅读全文
摘要:
1. 内容横向滚动的代码 2. 避免浏览器自动压缩空格问题。 有时在显示内容,文本中有多个空格相连,但是浏览器会自动压缩空格,这样就让多个空格看起来像一个空格。 方法1: 替换空格字符为 ,但是这种方法在英文文本的断词上会出问题,会无法很好的断词换行,所以并不是很好。 方法2: 既然浏览器 阅读全文
摘要:
今天与另一位前端开发人员扯起了后端接口的皮(我也是前端人员),那个兄弟对后端人员提供的接口很大的意见(我是司空见惯),不过他说的也确实有道理,所以结合我的见解,希望提供接口的人员能多加注意。 1.没有文档... 例如新的前端人员到了一个新的公司,使用接口时,问这个这个不知道,问那个那个不知道,要文档 阅读全文
摘要:
“如果你走得够远,能安全回来,你也能有那么多故事”,一句话总结。 在开始拿到这本书时,看到书名《猫力乱步》,我一直看成“猫步乱力”,实在是猫步这个词在我头脑里潜移默化。书主叫“猫力”,一本小故事的旅行游记。 旅游的钱从何而来。实在是感叹女主的赚钱能力,小时候就能各种姿势赚钱,长大了能靠自身能力赚钱。 阅读全文
摘要:
网上有一些js获取隐藏元素宽高的方法,但是可能会存在某些情况获取不了。 例如: test获取得了,但是test2_child是获取不到的。鉴于这种情况,于是自己写了一个方法解决。 解决思路: 1. 获取元素(拿宽高那个)所有隐藏的祖先元素直到body元素,包括自己。 2. 获取所有隐藏元素的styl 阅读全文
摘要:
使用RequireJS做异步模块加载,有几点值得注意的地方: 1.模块定义两种写法 1. 存在依赖的函数式定义 如果模块存在依赖:则第一个参数是依赖的名称数组;第二个参数是函数,在模块的所有依赖加载完毕后,该函数会被调用来定义该模块,因此该模块应该返回一个定义了本模块的object。依赖关系会以参数 阅读全文
摘要:
1. 是否该废弃iscroll? 我得出的结论是,是该废弃了。那当时为什么要用iscroll? 原因有三个: 1. 因为别人也用了。 2. 为了iPhone上页面滑动更顺畅。 3. 为了用上拉、下拉刷新。 关于这三个原因有几点观点: 1. 人最容易跟风,编程也是。当别人用了的时候,会认为我自己也要用 阅读全文
摘要:
前言 每个函数都有自己的执行环境。当某个函数被调用时,会创建一个执行环境(execution context)及相应的作用域链,并把作用域链赋值给一个特殊的内部属性(即[[Scope]])。然后使用this、arguments和函数参数、内部变量、内部函数引用来初始化函数的活动对象(activati 阅读全文
摘要:
“保持呼吸,继续向前”,一句话总结。 书的扉页写着一句“行走的力量”。我当时想起一个故事:一名记者看见农村的一个正在放羊的小孩。 问他“你的理想是什么?” 小孩回答说:“放羊!” 羊儿喂大了干什么?” 卖钱!” 有了卖羊儿的钱干什么?” 娶老婆!” 娶老婆干什么?” 生小孩!” “生小孩来干什么?” 阅读全文
摘要:
在写这篇文章之前,我询问了在唯品会和腾讯的童鞋、以及公司里面前端大神(深哥),对于设计稿切图的详细方法,经过对比验证,得出设计稿转换页面单位尺寸方法步骤。我分别询问下面四个问题: 1. 设计稿的单位是什么,一般大小是什么? 2. 页面长度单位用什么,px、em、rem,还是混合,如果用rem,htm 阅读全文
摘要:
“计算机科学只存在两个难题:缓存失效和命名。” ——Phil KarIton 前言 命名一直是我编程过程中很头痛的事,有时为了一个恰当的名称是想了又想,还忍不住Google一下。命名真是一门艺术,好的命名那叫一个高大上。今天总结一些前端命名的规范,梳理一份自己的命名想法,从以下4种代码风格的命名规范 阅读全文