2015-11-06 Jason Liao
对《JavaScript Patterns》和《Learning JavaScript Design Patterns》的一些总结,大部分是以链接的形式链接到更详细的笔记 感谢 汤姆大叔的关于设计模式的文章 和工作室小伙伴东帅,我们的讨论总能迸出点什么,这是他关于 Java Design Patterns 的 repo 继续阅读 »
2016-08-30 曹强
写在前面 废话不多说,请看下面3道题,把6个console.log()的答案写下来,然后对照着在Console控制台里敲一遍,校验一下结果。 more 代码片段 ``` var A = function() {}; a.prototype = { num : 1, text : 'aaa' }; var x = new A(); // 第一题 console.log(x.num); console.log(x.text); // --这里是分割线-- var y = new A(); A.prototype = { num : 2 }; // 第二题 console.log(y.num); c 继续阅读 »
2016-07-31 曹强
原型链继承 让构造函数的原型对象等于另一个类型的实例,利用原型让一个引用类型继承另一个引用类型的属性和方法 ``` function SuperType() { this.property=true; } SuperType.prototype.getSuperValue=function(){ return this.property; }; function SubType() { this.subProperty=false; } //继承SuperType SubType.prototype=new SuperType(); SubType.prototype.getSubValue=f 继续阅读 »
2016-09-10 曹强
前言 在对Module模式有个熟悉的了解之后,我们来认识一个稍有改进的版本——ChristianHeilmann的Revealing Module模式。 模式的由来 原来的Module模式可能无法实现这样的需求: 当我们从另一个方法调用一个公有方法或者访问公有变量时,必须要重复主对象的名称。而且使用Module时必须要切换到对象字面量表示法来让某种方法变成公有方法。 我们需要的可能是这样的一个模式: 能够在私有范围内简单定义所有的函数和变量,并返回一个匿名对象,它拥有指向私有函数的指针,该函数是它希望展示为公有的方法。 有点拗口,还是上代码吧 (☆_☆) more 代码 ``` var myRevealingModu 继续阅读 »
2016-06-10 浩阳
content {:toc} 记录一下阅读蝴蝶书的笔记,本篇为书中最后一部分:方法、代码风格、优美的特性、毒瘤、糟粕等。 方法 这一章主要介绍了一些方法集。这里写几个我不太熟悉的方法和要点吧。 array.join() 继续阅读 »
2014-03-22 W.Y.
童鞋们,请准备好迎接 Web 开发历史上一个重大时刻。。。 [鼓声响起] JavaScript 有了原生的 Promise! [漫天的烟花绽放,人群沸腾了] 这时候你大概是这三种人之一: - 你的身边拥挤着欢呼的人群,但是你却不在其中,甚至你还不大清楚“Promise”是什么。你耸耸肩,烟花的碎屑在你的身边落下。不过不要担心,我也是花了多年的时间才明白 Promise 的意义,你可以从这里开始。 - 你一挥拳!太赞了对么!你已经用过一些 Promise 的库,但是所有这些第三方实现在 API 上都略有差异,JavaScript 官方的 API 会是什么样子?请看这里! - 你早就知道了,看着那些欢呼雀跃的新人你的嘴角泛起一丝 继续阅读 »
2016-08-03 曹强
引用类型 Object类 ```text ECMAScript中的所有类都是由Object类继承而来。 Object类具有下列属性: Constructor:对创建对象的函数的引用(指针),对于Object类,该指针指向原始的Object()函数 Prototype:对该对象的对象原型的引用。 Object类还有几个方法: 1、PropertyIsEnumerable(property):判断给定的属性是否可以用for...in语句进行枚举 2、ToString():返回对象的原始字符串表示。 3、ValueOf():返回最适合该对象的原始值。对于许多类,该方法返回的值都与toString()的返回值相同。 继续阅读 »
2014-03-10 W.Y.
面试或被面试时基本都会涉及到这个最原始的 JavaScript 基础问题,试想一下您有没有在某些时候向别人解释这些概念时,把自己给绕进去了;网络上偶遇一篇英文文章,细读之后觉得有参考价值,文章不长,就顺手翻译了一下,希望某些同学可以用的上。 原文文中的 Scope 翻译成中文是“变量作用域”,译文某些地方直接简称为“作用域” ,Closure 翻译后是“闭包”。Rebort Nyman 的原文是 Explaining JavaScript Scope And Closures,某些不清楚的地方可以直接参考原文。 以下是译文 背景 很多文章或博客都在试着解释作用域和闭包,但大多数都没有解释的很清楚(crystal-clear) 继续阅读 »
2015-06-05 Lim Geng
小函数蕴含着大学问:函数节流之水龙头与弹簧、尾递归优化、展开参数函数、异步化函数等,整理了几个有趣的js函数,后续还会增加。 函数节流:水龙头与弹簧 什么是节流,请自行百谷 Throttle:这种方式是类似水龙头,当水滴足够大时水滴就会掉下来;类似的,当时间超过某个timeout的时候就执行函数 ```js var throttle = function(fn, timeout) { var last = new Date().getTimes(); return function() { var curr = new Date().getTimes(); if (curr - last >= 继续阅读 »
2016-08-01 曹强
语法 区分大小写、变量弱类型、行尾分号可有可无、注释为双斜线、括号表明代码块 变量 变量用var声明,变量的命名规则:第一个字符必须是字母、下划线或美元符号;余下的字符可以是下划线、美元符号或任何字母或数字字符。 变量命名规范: Camel标记法:首字母小写,接下来的单词都以大写字母开头。例如:var **m**y**T**est**V**alue=0,**m**y**S**econd**T**est**V**alue="hi"; Pascal标记法:首字母大写,接下来的单词都以大写字母开头。例如:var **M**y**T**est**V**alue=0,**M**y**S**econd**T**est**V**alu 继续阅读 »