
JavaScript基础&库源码
文章平均质量分 83
JavaScript相关知识点以及相关库分析
玉案轩窗
这个作者很懒,什么都没留下…
展开
-
require源码分析之require
前言通过上面的两篇文章,分析了require.js加载过程中所做的工作,实际上就是创建一个contextName为’_’对应的context上下文,也只到require函数实际上就是调用localRequire函数,该函数的大概代码如下:// deps表示依赖列表, callback表示回调函数,errback表示处理错误的回调函数function localRequire(deps, callb原创 2017-09-30 13:10:55 · 1123 阅读 · 0 评论 -
require.js源码分析之req({})内部处理
前言之前分析了require.js的加载过程,以及加载过程中主要处理的三点重要事情: - req({}) - data-main - req(cfg) - req(config) 之前分析了data-main的处理流程,此文主要分析req({})、req(cfg)以及req(config)处理流程。req({})内部处理req函数就是require函数,通过阅读它的源码,它的处理流程如下:原创 2017-09-29 18:48:18 · 1046 阅读 · 0 评论 -
require.js源码分析之加载流程
前言此文是require.js源码分析系列的文章,之所以会分析require.js,原因如下: - 面试时会被问到相关知识点,但是在工作中没有使用require.js - 想要加深对于AMD规范的理解 - require.js是异步加载js文件,对其内部的实现思想想要一窥究竟本系列文章着重于require.js的如下两点: - require.js中异步加载js文件的实现 - requir原创 2017-09-29 14:48:25 · 1293 阅读 · 0 评论 -
Promise源码阅读之ES6 Extensions API
前言本次阅读的Promise是基于Promise A+规范的,对于ES6 Promises规范中有些API需要提供另外的支持,即ex6-extensions.js文件中的逻辑处理。具体分析Promise.resolve该方法返回一个fulfilled状态的Promise对象 if (value instanceof Promise) return value; // NULL 即v...原创 2018-11-13 09:42:07 · 343 阅读 · 0 评论 -
Promise源码阅读之构造函数+then过程
前言Promise是异步编程的一种方案,ES6规范中将其写入规范标准中,统一了用法。考虑到浏览器的兼容性,Vue项目中使用promise,就具体阅读promise源码,看看内部的具体实现。具体分析通过具体实例来阅读promise源码的实现,实例如下:new Promise(function (resolve, reject) { get('http://www.google.com'...原创 2018-10-31 21:20:25 · 1527 阅读 · 0 评论 -
前端下载带来的一些思考
前言最近集中遇到了HTTP相关方面的问题,意识到自己的HTTP协议一些细节点掌握的还不够,而前端实现下载是日常中非常常见的点,从下载为起点引发了一系列的思考。思考的问题如下:为什么不能直接使用Ajax实现下载?前后端接口传参,参数类型是什么?而本文也会围绕这两个问题进行探讨。具体分析为什么不能使用Ajax直接实现下载?场景 业务要求实现导出文件功能,后台给...原创 2018-08-30 20:24:28 · 214 阅读 · 0 评论 -
FileSaver源码阅读
前言阅读项目源码发现下载都使用FileSaver.js插件,所以就打算看看该插件内部的实现,这是初衷。具体内容FileSaver.js中的具体实现逻辑如下: 从上面逻辑图中可以看出,FileSaver.js不支持IE10以下的文件下载 上面是主要的流程所列,实际上具体的实现,主要可以分为三点来讲: 支持a标签的download属性的浏览器 不支持downloa...原创 2018-07-26 17:54:32 · 1795 阅读 · 3 评论 -
JavaScript知识点之Event Loop
前言之前在阅读Js书籍时,就看见过事件循环的概念。最近又阅读了相关的文章以及setTimeout(fn, 0)背后所涉及的知识点,所以结合以前阅读的文章以及最近学习到的相关知识点,总结下Event Loop相关知识。JavaScript线程浏览器中至少存在三个线程:JavaScript引擎:基于事件驱动的单线程GUI渲染:与Js引擎互斥,当页面需要重绘或回流时执行事件触发:将事件处理程序添加到原创 2017-08-21 19:34:39 · 356 阅读 · 0 评论 -
JavaScript知识点之prototype
前言prototype是所有函数都有的内置属性,prototype属性的值是对象,该对象称之为原型对象。原型是Js的核心概念之一,它引申出继承、原型链等其他概念,本文就详细的分析总结下prototype的相关知识点。在理解prototype之前,我觉得有必要讲讲面向对象,当然这里不会讲很多,就讲讲Js的面向对象与Java面向对象的区别。 联系:都是面向对象编程 区别:原创 2017-08-18 18:28:52 · 2424 阅读 · 0 评论 -
JavaScript知识点之执行上下文
前言执行上下文中涉及的知识点其实很多,首先说一下执行上下文中涉及的概念有:执行上下文(EC)变量对象(VO)活动对象(AO)作用域链(scope chain)执行上下文栈(ECS)执行上下文1、概念与分类英文:Execution Context,又称执行环境,是指当前代码所处的执行空间,在js中执行上下文分为两类:全局执行上下文函数执行上下文(也可称之局部执行上下文)全局执行上下文原创 2017-08-17 19:20:09 · 372 阅读 · 0 评论 -
javaScript知识点之this
前言最近又重新阅读《你不知道的JavaScript》系列书籍,将以前的笔记进行整理总结一下,今天就讲解一下this相关的问题,实际上该系列书籍中对于this的说明以及讲解非常的详细,本篇文章的目的有两个:总结this的知识点,加深对其的理解认知抽取this部分的知识,形成模块化的记忆首先就从几道面试题来开始this部分的说明,面试题如下:第一道function test() { con原创 2017-08-16 20:30:36 · 301 阅读 · 0 评论