首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
jiwenjie
掘友等级
前端
|
海康威视
if not you, who? if not now, when?
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
46
文章 46
沸点 0
赞
46
返回
|
搜索文章
最新
热门
Event Loop
讲到线程,那么肯定也得说一下进程。本质上来说,两个名词都是 CPU 工作时间片的一个描述。 进程描述了 CPU 在运行指令及加载和保存上下文所需的时间,放在应用上来说就代表了一个程序。线程是进程中的更小单位,描述了执行一段指令所需的时间。 把这些概念拿到浏览器中来说,当你打开一…
JavaScript的bind方法模拟实现
接下来看第二点,可以传入参数。这个就有点让人费解了,我在 bind 的时候,是否可以传参呢?我在执行 bind 返回的函数的时候,可不可以传参呢?让我们看个例子: 也就是说当 bind 返回的函数作为构造函数的时候,bind 时指定的 this 值会失效,但传入的参数依然生效。…
实现一个简单的 Promise
接下来就是一系列判断状态的逻辑,当状态不是等待态时,就去执行相对应的函数。如果状态是等待态的话,就往回调函数中 push 函数,比如如下代码就会进入等待态的逻辑 这里的代码是完全按照规范实现的。如果 x 为 Promise 的话,需要判断以下几个情况: 当然以上这些是规范需要我…
JS 异步编程相关知识点
并发是宏观概念,我分别有任务 A 和任务 B,在一段时间内通过任务间的切换完成了这两个任务,这种情况就可以称之为并发。 并行是微观概念,假设 CPU 中存在两个核心,那么我就可以同时完成任务 A、B。同时完成多个任务的情况就可以称之为并行。 但是回调函数有一个致命的弱点,就是容…
ES6相关知识点
对于这个问题,我们应该先来了解提升(hoisting)这个概念。 从上述代码中我们可以发现,虽然变量还没有被声明,但是我们却可以使用这个未被声明的变量,这种情况就叫做提升,并且提升的是声明。 到这里为止,我们已经了解了 var 声明的变量会发生提升的情况,其实不仅变量会提升函数…
JavaScript理解new的实现
也许有点难懂,我们在模拟 new 之前,先看看 new 实现了哪些功能。 接下来,我们可以尝试着模拟一下了。 因为 new 是关键字,所以无法像 bind 函数一样直接覆盖,所以我们写一个函数,命名为 objectFactory,来模拟 new 的效果。用的时候是这样的: 因为…
JS基础知识点(二)
对于 == 来说,如果对比双方的类型不一样的话,就会进行类型转换,这也就用到了我们上一章节讲的内容。 首先会判断两者类型是否相同。相同的话就是比大小了 闭包的定义其实很简单:函数 A 内部有一个函数 B,函数 B 可以访问到函数 A 中的变量,那么函数 B 就是闭包。 很多人对…
JS 基础知识点
除了会在必要的情况下强转类型以外,原始类型还有一些坑。 另外对于 null 来说,很多人会认为他是个对象类型,其实这是错误的。虽然 typeof null 会输出 object,但是这只是 JS 存在的一个悠久 Bug。在 JS 的最初版本中使用的是 32 位系统,为了性能考虑…
Js如何优雅判断闰年
对于js中的Date对象,我们new Date()后做的最多的操作就是getTime()、getFullYear()、getMonth()、getSecond(),在实际开发中几乎很少会用到getDate()这个方法,因为应用场景太少了。在工作中我们经常会需要判断某个年份是否是…
css单行居中,两行居左,超过两行省略
这题就厉害了我的哥。 接下来就一步一步来实现这个效果。 居中需要用到 text-align:center,居左是默认值也就是text-align:left。如合让两者结合起来达到单行居中,多行居左呢?这就需要多一个标签,假设一开始我们定义如下: 完成了第一步,接下来要实现的是超…
下一页
个人成就
文章被点赞
34
文章被阅读
33,101
掘力值
895
关注了
42
关注者
4
收藏集
19
关注标签
14
加入于
2018-03-27