随笔分类 -  JavaScript

摘要:在《你不知道的JavaScript》之“this全面解析”一节中,讲到了this绑定例外的间接引用,代码如下: 注意看最后一行,一开始很难理解,为什么打印出来的是2。 书上的解释如下: 赋值表达式 p.foo = o.foo 的返回值是目标函数的引用, 因此调用位置是 foo() 而不是p.foo( 阅读全文
posted @ 2019-02-01 22:48 狸子同学 阅读(228) 评论(0) 推荐(0)
摘要:正在学习这一章节,看到这么一段话: 就想说自己也写个闭包试试看: 然后在浏览器里打了断点,发现并没有出现所谓的闭包。 所以寻思着是不是作者错了,全局作用域中是没有闭包的?于是就去GitHub上的issue中找类似的问题,没想到还真有人提了。 链接:https://github.com/getify/ 阅读全文
posted @ 2019-01-24 13:12 狸子同学 阅读(166) 评论(0) 推荐(0)
摘要:继承 原型链 先不管上图,先来看以下代码: 结合代码和上图,可以清楚得看到,将某个构造函数的原型对象替换为另一个构造函数的实例对象后,最终的指向(图中红线部分,就像链条一样,层层链接)。这就是原型链的基本概念。 默认的原型 所有引用类型默认都继承了 Object,这也是通过原型链实现的。 确定原型和 阅读全文
posted @ 2018-10-19 18:54 狸子同学 阅读(275) 评论(0) 推荐(0)
摘要:因为都是文字,有些不好理解,所以尽量将文字都以图文的形式画出来,便于理解。 作用域包含了一系列的气泡。每一个都是一个容器,包含了标识符的定义。 这些气泡相互嵌套,排列成蜂窝型,排列结构在写代码时定义。 下面考虑以下几个问题: 是什么生成了一个新气泡? 只有函数会生成新气泡吗? JavaScript 阅读全文
posted @ 2018-10-17 10:24 狸子同学 阅读(886) 评论(0) 推荐(0)
摘要:[TOC] 词法作用域 作用域工作模型: 词法作用域(大多数编程语言采用) 动态作用域 词法阶段 大部分标准语言编译器的第一个工作阶段就是词法化。 词法化的过程:会对源代码中的代码进行检查,如果是有状态的解析过程,还会赋予单词语义。 词法作用域:就是定义在词法阶段的作用域。在写代码时,将变量和块作用 阅读全文
posted @ 2018-10-15 17:24 狸子同学 阅读(626) 评论(0) 推荐(0)
摘要:因为全部都是文字不太好理解,所以尽可能地把所有的文字都画成了图,便于理解。 作用域是什么 传统编译流程: JavaScript 引擎会在语法分析和代码生成阶段,通过特定的步骤,对运行性能进行优化。包括冗余元素优化等。 JavaScript 编译,大部分情况下,发生在代码执行前的几微妙(甚至更短)。 阅读全文
posted @ 2018-10-12 17:18 狸子同学 阅读(718) 评论(0) 推荐(1)
摘要:创建单个对象的缺点:用同一个接口创建很多对象,会产生大量的重复代码。 工厂模式就是为了解决这个问题。 工厂模式 解决了创建多个相似对象的问题 缺点:无法解决对象识别的问题——怎样知道一个对象的类型 构造函数模式 ECMAScript中的构造函数可以用来创建特定类型的对象。 与工厂模式的区别: 没有显 阅读全文
posted @ 2018-10-10 10:32 狸子同学 阅读(662) 评论(0) 推荐(2)
摘要:闭包 全局变量在函数内部可以访问。 函数内部定义的变量,外部无法访问。 外部访问函数内定义的变量。在函数里再定义一个函数。 特点:f2在f1里面定义的,f1需要返回f2 用途:1. 读取函数内部的变量; 2. 让变量保留在内存中。 优缺点: 优点: 有利于封装 可以访问局部变量 缺点: 内存占用严重 阅读全文
posted @ 2018-09-20 12:12 狸子同学 阅读(144) 评论(0) 推荐(0)
摘要:2. 正则表达式语法 2.2 定位符与原义字符 (1) 文本验证定位符 定位符用于规定匹配模式在目标字符串中出现的位置。例如,规定匹配模式只能出现在开头或结尾处,这样对文本格式的验证非常有用。 在正则表达式中,有以下几个用于验证文本的定位符。 》 用 "^" 匹配目标字符串的开始位置 匹配必须发生在 阅读全文
posted @ 2016-04-12 22:35 狸子同学 阅读(303) 评论(0) 推荐(0)
摘要:正则表达式(1) 2. 正则表达式语法 正则表达式的语法主要就是对各个元字符功能的描述。元字符从功能上大致分为:模式匹配符,定位符与原义字符,限定符,选择匹配符,特殊字符,字符匹配符,分组组合和反向引用符。 2.1 模式匹配符 下面的表格列出了在正则表达式中能够使用的字符列表及相关描述。 这里的n是 阅读全文
posted @ 2016-04-06 22:39 狸子同学 阅读(265) 评论(0) 推荐(0)
摘要:1. 正则表达式基础 正则表达式描述了一种字符串匹配的模式,即可以使用户通过一系列普通字符或特殊字符构建能够明确描述文本字符串的匹配模式,可以用来检查某个字符串是否含有某种子字符串,将匹配的子字符串做替换或者从某个字符串中取出符合某个条件的子字符串等。 1.1 正则表达式的基本结构 一个正则表达式就 阅读全文
posted @ 2016-04-05 21:32 狸子同学 阅读(155) 评论(0) 推荐(0)