2016-07-29 曹强
定义函数有两种方式:函数声明和函数表达式。它们之间一个重要的区别是函数提升。 1.函数声明会进行函数提升,所以函数调用在函数声明之前也不会报错: ``` test(); function test(){ alert(1); } ``` 2.函数表达式不会进行函数提升,函数调用在函数声明之前的话会报错: ``` test(); // test is not a function var test=function(){ alert(1); } ``` 递归函数是通过在函数内部调用自身实现的。 直接使用函数名进行递归调用 ``` function f(num){ if(num==1){ r 继续阅读 »
2015-07-09 Quanyin Tang
Fork 自 Huxpro@Github,作为模板进行创作 下滑这里查看更多内容 7月9日,我在公司内部进行了名为「JavaScript 模块化七日谈」分享,并将该 Slides 分享到了微博上。出乎意料地,这篇微博先后被 @JS小组 @尤小右 @寸志 等近 200 人转发,阅读达到 10w,获得了还不错的评价。 继续阅读 »
2017-03-06 高悦翔
函数对象 JavaScript中函数就是对象. 函数对象连接到Function.prototype. 当把一个函数当作构造函数(使用new关键字)使用时, 新创建的对象的原型就是该函数的prototype对象. 我们可以通过给prototype设置属性而达到让该类对象拥有同样的公共属性的目的. 继续阅读 »
2015-03-05 Jason Liao
变量提升,就是当变量或者函数不管在哪里声明的时候,都会被提升到该作用域的顶部来声明 这里有三个要注意的地方,我们也会在等下的例子里一个一个的说到 JavaScript没有块级作用域 函数声明会覆盖变量声明,但不会覆盖变量赋值 函数声明会提升,函数表达式不会被提升 继续阅读 »
2015-06-12 Jason Liao
在看 JavaScript 框架设计的时候,知道了 jQuery 可以批量处理是因为一个叫数组化的概念,然后再对数组对象进行扩展,让数组可以完成更多的事情,但在扩展之前,先来看看几个原型方法 Array.prototype.slice 继续阅读 »
2015-01-12 Jason Liao
Closures are functions that refer to independent (free) variables 闭包是静态方式/词法方式进行存储所有父作用域的一个函数 在 JavaScript 高级程序设计里面通过一个createComparisonFunction()函数和这个函数的作用域链之间的关系图说得很明白为什么闭包可以访问外部函数的变量,是因为闭包的作用域链不仅包括自己本地的活动对象,还包括外部函数作用域链所指向的活动对象 继续阅读 »
2016-10-12 AnnatarHe
Yarn: A new package manager for JavaScript 继续阅读 »
2015-09-15 veryyoung
传统的JavaScript编程很容易出现难以管理的现象,如依赖复杂、方法名冲突等各方面的弊端,SeaJS可以解决这个问题。 more SeaJS的是支付宝著名前端工程师开发的一个前端模块化开发框架。 继续阅读 »
2016-06-08 浩阳
content {:toc} 记录一下阅读蝴蝶书的笔记,本篇为书中以下章节的笔记:继承、数组和正则表达式。 继承 继承的两大好处:代码重用,引入一套类型系统的规范。 伪类 JavaScript 通过构造器函数产生对象。 继续阅读 »
2017-03-04 高悦翔
前两章介绍基础, 没什么笔记好记录. 这是第三章. 什么是对象 在JavaScript中, 除了简单数据类型(数字, 字符串, 布尔值, null和undefined), 其他所有的值都是对象Object. 其中number string和boolean虽然拥有方法, 但他们并不是object, 因为他们是不可变的. 继续阅读 »