2018年4月25日

[转]js模块化——AMD及require.js

摘要: 由CommonJS组织提出了许多新的JavaScript架构方案和标准,希望能为前端开发提供统一的指引。AMD规范就是其中比较著名一个,全称是Asynchronous Module Definition,即异步模块加载机制,完整描述了模块的定义,依赖关系,引用关系以及加载机制。而AMD规范的作者亲自 阅读全文

posted @ 2018-04-25 21:30 baoyadong 阅读(354) 评论(0) 推荐(0) 编辑

[转]模块化——Common规范及Node模块实现

摘要: Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性。本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于javascript的,在javascript中的顶层对象是window,而在node中的顶层对象是global [注 阅读全文

posted @ 2018-04-25 20:54 baoyadong 阅读(415) 评论(0) 推荐(0) 编辑

[转]js模块化(一)

摘要: java有类文件、Python有import关键词、Ruby有require关键词、C#有using关键词、PHP有include和require、CSS有@import关键词,但是对ES5版本的javascript来说,javascript通过script标签引入代码的方式显得杂乱无章,语言自身毫 阅读全文

posted @ 2018-04-25 20:26 baoyadong 阅读(225) 评论(0) 推荐(0) 编辑

[转]深入理解闭包(三)

摘要: 严格来讲,IIFE并不是闭包,因为它并不满足函数成为闭包的三个条件。但一般地,人们认为IIFE就是闭包,毕竟闭包有多个定义。本文将详细介绍IIFE的实现和用途 实现 函数跟随一对圆括号()表示函数调用 但有时需要在定义函数之后,立即调用该函数。这种函数就叫做立即执行函数,全称为立即调用的函数表达式I 阅读全文

posted @ 2018-04-25 17:14 baoyadong 阅读(173) 评论(0) 推荐(0) 编辑

[转]深入理解闭包(二)

摘要: 据闭包的定义,我们知道,无论通过何种手段,只要将内部函数传递到所在的词法作用域以外,它都会持有对原始作用域的引用,无论在何处执行这个函数都会使用闭包。接下来,本文将详细介绍闭包的10种形式 返回值 最常用的一种形式是函数作为返回值被返回 函数赋值 一种变形的形式是将内部函数赋值给一个外部变量 函数参 阅读全文

posted @ 2018-04-25 17:06 baoyadong 阅读(132) 评论(0) 推荐(0) 编辑

[转]深入理解闭包(一)

摘要: 闭包已经成为近乎神话的概念,它非常重要又难以掌握,而且还难以定义。本文就从闭包的定义说开去 古老定义 闭包(closure),是指函数变量可以保存在函数作用域内,因此看起来是函数将变量“包裹”了起来 那这样说来,包含变量的函数就是闭包 定义一 闭包是指可以访问其所在作用域的函数 那这样说来,需要通过 阅读全文

posted @ 2018-04-25 17:02 baoyadong 阅读(124) 评论(0) 推荐(0) 编辑

[转]面向对象的设计原则

摘要: 面向对象的设计原则,可以说每种设计模式都是为了让代码迎合其中一个或多个原则而出现的, 它们本身已经融入了设计模式之中,给面向对象编程指明了方向。适合javascript开发的设计原则包括是单一职责原则、最少知识原则和开放封闭原则。本文将详细介绍面向对象的设计原则 单一职责原则 就一个类而言,应该仅有 阅读全文

posted @ 2018-04-25 10:10 baoyadong 阅读(129) 评论(0) 推荐(0) 编辑

[转]js作用域系列——内部原理

摘要: 前面的话 javascript拥有一套设计良好的规则来存储变量,并且之后可以方便地找到这些变量,这套规则被称为作用域。作用域貌似简单,实则复杂,由于作用域与this机制非常容易混淆,使得理解作用域的原理更为重要。本文是深入理解javascript作用域系列的第一篇——内部原理 内部原理分成编译、执行 阅读全文

posted @ 2018-04-25 09:16 baoyadong 阅读(185) 评论(0) 推荐(0) 编辑

导航