摘要: this 指向函数的作用域是一种常见的误解,this 在任何情况下都不指向函数的词法作用域。 在 JavaScript 内部, 作用域确实和对象类似, 可见的标识符都是它的属性。 但是 作用域“对象” 无法通过 JavaScript代码访问, 它存在于 JavaScript 引擎内部 。 每当你想要 阅读全文
posted @ 2019-06-15 12:29 simple小前端 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 动态作用域让作用域作为一个在运行时就被动态确定的形式, 而不是在写代码时进行静态确定的形式。动态作用域并不关心函数和作用域是如何声明以及在何处声明的, 只关心它们从何处调用。 换句话说, 作用域链是基于调用栈的, 而不是代码中的作用域嵌套。 词法作用域: 词法作用域让 foo() 中的 a 通过 R 阅读全文
posted @ 2019-06-15 12:28 simple小前端 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 当函数可以记住并访问所在的词法作用域时, 就产生了闭包, 即使函数是在当前词法作用域之外执行。 将一个内部函数( 名为 timer) 传递给 setTimeout(..)。 timer 具有涵盖 wait(..) 作用域的闭包, 因此还保有对变量 message 的引用。wait(..) 执行 10 阅读全文
posted @ 2019-06-15 12:27 simple小前端 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 关于函数声明:如果 function 是声明中的第一个词, 那么就是一个函数声明, 否则就是一个函数表达式。例如匿名函数这种形式,函数会被当作函数表达式而不是一个标准的函数声明来处理。 这种表达式有另外一种用途是倒置代码的运行顺序, 将需要运行的函数放在第二位, 在 IIFE执行之后当作参数传递进去 阅读全文
posted @ 2019-06-15 12:26 simple小前端 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 关于函数声明:如果 function 是声明中的第一个词, 那么就是一个函数声明, 否则就是一个函数表达式。例如匿名函数这种形式,函数会被当作函数表达式而不是一个标准的函数声明来处理。 这种表达式有另外一种用途是倒置代码的运行顺序, 将需要运行的函数放在第二位, 在 IIFE执行之后当作参数传递进去 阅读全文
posted @ 2019-06-15 12:26 simple小前端 阅读(127) 评论(0) 推荐(0) 编辑
摘要: Javascript是一门编译语言,它不是提前编译的, 编译结果也不能在分布式系统中进行移植。 在传统编译语言的流程中, 程序中的一段源代码在执行之前会经历三个步骤, 统称为“编译”: 1. 分词/词法分析(将由字符组成的字符串分解成(对编程语言来说) 有意义的代码块, 这些代 码块被称为词法单元 阅读全文
posted @ 2019-06-15 12:25 simple小前端 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 词法作用域是一套关于引擎如何寻找变量以及会在何处找到变量的规则。 词法作用域最重要的特征是它的定义过程发生在代码的书写阶段(假设你没有使用eval() 或 with) 欺骗词法:指修改词法作用域, 欺骗词法作用域会导致性能下降。 两种方法: eval 和 with。eval(..) 函数如果接受了含 阅读全文
posted @ 2019-06-15 12:25 simple小前端 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 分离构造器 通过new操作符构建一个对象,一般经过四步: A.创建一个新对象 B.将构造函数的作用域赋给新对象(所以this就指向了这个新对象) C.执行构造函数中的代码 D.返回这个新对象 最后一点就说明了,我们只要返回一个新对象即可。其实new操作符主要是把原型链跟实例的this关联起来,这才是 阅读全文
posted @ 2019-06-15 12:22 simple小前端 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 来源:慕课网 jQuery整体架构 jQuery按我的理解分为五大块, 选择器 、 DOM操作 、 事件 、 AJAX 与 动画 , 那么为什么有13个模块?因为jQuery的设计中最喜欢的做的一件事,就是抽出共同的特性使之“模块化”,当然也是更贴近S.O.L.I.D五大原则的“单一职责SRP”了, 阅读全文
posted @ 2019-06-15 12:21 simple小前端 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 集合 集合(set) 是一种包含不同元素的数据结构。 集合中的元素称为成员。 集合的两个最重要特性是: 首先, 集合中的成员是无序的; 其次, 集合中不允许相同成员存在。 对集合的三个操作 + 并集 将两个集合中的成员进行合并, 得到一个新集合。 + 交集 两个集合中共同存在的成员组成一个新的集合。 阅读全文
posted @ 2019-06-15 12:20 simple小前端 阅读(442) 评论(0) 推荐(0) 编辑