首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
十八哟
掘友等级
前端CV攻城狮
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
22
文章 20
沸点 2
赞
22
返回
|
搜索文章
最新
热门
vue源码入门
最近工作很忙,终于抽空把一节讲vue源码的录播课看了几遍,跟着视频把笔记做了一部分。 笔记放在ProcessOn上了,云笔记,方便查看和编辑。
Promise面试题
前面的文章梳理了一下有关浏览器进程、事件循环机制、微任务和红任务、Promise的相关知识,这篇文章想讲讲有关这些知识的一些面试题。 代码从上往下被放入执行栈中,执行栈先执行所有的同步任务,当遇到异步任务时,把异步任务挂起,等待执行栈中没有同步任务了,就从任务队列中取出异步任务…
Promise
上一篇博客讲到浏览器的进程和线程、循环机制、微任务和宏任务,Promise在JS的循环机制中属于微任务,同时也是异步编程的一种解决方案。 Promise可以看成是一个容器,装着一个异步操作(某个未来才会结束的事件)的结果。Promise操作后返回的对象是一个新的Promise对…
浏览器进程、JS事件循环机制、宏任务和微任务
本想写写Promise的,但是查阅相关博客的时候发现浏览器进程、JS事件循环机制、宏任务和微任务需要提前学习一下,于是有了这篇博客。 负责浏览器界面的显示,与用户交互。如前进、后退等 当然,内存等资源消耗也会更大,有点空间换时间的意思。 对于前端来说,页面的渲染、JS的执行、事…
Object.assign的原理及其实现方式
上周在总结赋值和深浅拷贝的时候提到了Object.assign这种浅拷贝方式。这周谈谈它的原理以及实现方式。 上篇文章有讲到它的定义和用法,主要是将所有可枚举属性的值从一个或多个源对象中复制到目标对象,同时返回目标对象。 其中target是目标对象,...source是源对象,…
赋值、浅拷贝和深拷贝的区别
今天放假,想总结一下赋值、浅拷贝和深拷贝的区别。 通常开发中我们不希望出现这种相互影响的情况,所以需要浅拷贝或者深拷贝。 新建一个对象,这个对象有原始对象属性值的一份精确拷贝。如果属性是基本数据类型,拷贝的是基本数据类型的值;如果属性是引用类型,拷贝的是内存地址,所以如果一个对…
模拟实现bind()
前面已经讨论过bind()的用法,这篇文章一步一步模拟实现bind()。 也就是说,当bind()返回的函数作为构造函数的时候,bind时指定的this值会失效,但传入的参数依然生效。 上面的例子中,运行结果this.value输出是undefined,这个值既不是全局的val…
模拟实现call()、apply()
之前总结过call()、apply()的区别和应用场景,这次想总结如何模拟实现这两者,其实就是搞懂它们的原理。 上面改进了依然存在一个问题:bar不能接收参数。所以我们可以从arguments中获取参数,从第二个到最后一个参数放到数组中,之所以不要第一个参数,是因为第一个参数是…
JS闭包和作用域
今天来啃闭包和作用域这块难啃的骨头。 作用域是一个变量和函数的作用范围,JS中函数内声明的所有变量在函数体内始终是可见的,在ES6前有全局作用域和局部作用域,但是没有块级作用域(catch只在其内部生效),局部变量的优先级高于全局变量。 Javascript中有一个执行上下文(…
Object.create()、new Object()和{}的区别
平时代码中必定会使用对象,通常是用最直接的字面量方法创建var obj = {},最近在整理JS继承方式时遇到Object.create()也可以创建对象,另外,也可以用new Object()关键字创建。 这样一比较,其实字面量创建和new关键字创建并没有区别,创建的新对象的…
下一页
个人成就
文章被点赞
205
文章被阅读
64,079
掘力值
1,558
关注了
5
关注者
28
收藏集
6
关注标签
27
加入于
2017-09-22