随笔分类 - b) JavaScript
摘要:最近会被问到EventLoop的相关问题,这个只要对任务微任务理解到位一般没啥问题,但有次被问到“requestAnimation的执行时机是什么”,答约:“rAF是在浏览器重新渲染屏幕之前执行”,之后被追问:“那它属于宏任务还是微任务,他在时间循环的执行时机是什么样的”。 当时听到这个问题一时有点
阅读全文
摘要:最近遇到了无限滚动的问题,用到了IntersectionObserver API,这里正好就将相关知识梳理整理一下。 前置概念知识 1. scrollHeight:容器元素被撑起后的实际大小高度 2. scrollTop:容器元素的滚动距离,也是当前视口相对于容器实际高度定点的距离。 3. offs
阅读全文
摘要:最近被同事问道一个问题: 这个例子是经典原型链继承,未做constructor修复的一个例子。 问: instance的属性test哪里来的,要知道这里的此时instance的构造函数instance.constructor是Father,我们再根据一般Java,ES6类中的构造函数的拷贝属性用法,
阅读全文
摘要:首先es和cmj大家都知道不一样,具体区别也就不多说,需要注意的是TS的模块也是自己实现的,不过在ES Module 2015(es6)定稿下来后,TS沿用和支持了ES module,不过TS除了使用ES module的规范,自己也有一套namespace的模块管理,这在某个版本前一直用namesp
阅读全文
摘要:最近在看框架源码的时候,发现作者(或者Contributors)创建对象的时候,或者做继承的时候,都喜欢用到Object.create()。 首先MDN上对这个方法介绍的很清楚了, Object.create(proto[, propertiesObject]) 第一个参数传一个对象,(ps:[]为
阅读全文
摘要:前提 大家都知道try catch对异步流程中的错误有时候是捕捉不到的,eg: 执行这些代码,你会发现过了一秒后程序直接报错,console.log('error')并没有执行,也就是func1并没有捕捉到func2的异常。这就是异步的问题所在。 我们一般的做法就是直接加上async/await:
阅读全文
摘要:最近被问到这个问题,jq的链式调用原理,当时比较懵=。=,毕竟现在jq接触的机会变很少了。 jq的链式调用 jq的链式调用其实就是比如我们在选择dom的时候, 比如如上代码,先选择type类型为button的所有DOM,然后再选择第一个... 我们自然想到每次其实就是返回选择后的结果,在js里面有什
阅读全文
摘要:1.__proto__和prototype JS中的原型链已经是一个老生常谈的问题,毕竟也是JS 这门语言的特色之一了。 首先“万物皆对象“,虽然这句话一直有争议,但是有它的道理的,null类型这些的争论这里就不说了。 对象中有个属性__proto__,被称为隐式原型,这个隐式原型指向构造改对象的构
阅读全文
摘要:前记: 想写一个电影天堂的爬虫,因为node很长时间落下,就想用node去写一下。结果遇到了一些列的问题,这些问题归根到底就是异步流程控制的问题,在以前就一直会接触到很多回调地狱,Promise为什么会出现诸如此类的话题,现在终于是深刻体会到了! 开始的代码是: const cheerio = re
阅读全文
摘要:很早之前就留下了这个问题,赶上五一放假,好好研究总结一下吧。 1. 首先jq中ready方法和window的onload方法的不同这里再提一下,首先ready只是dom树加载完毕,一些img等资源可能还没加载完成,而onload则是全部加载成功。而且ready方法可以有多个,而onload只能写一个
阅读全文
摘要:最近面头条的时候,要求自己手动实现一个bind函数,然后又问了bind还能干嘛。这里就围绕这两个好好写一下。 首先bind的文档说明: (链接: "传送门" ) bind()方法创建一个新的函数, 当被调用时,将其this关键字设置为提供的值,在调用新函数时,在任何提供之前提供一个给定的参数序列。
阅读全文
摘要:老样子,答的好的这里就不写了。只记录答的不好的的。 这次暴露出来的问题就是要多做项目,多实践。 1.改这个代码 //目标代码 const obj = { name: " jsCoder", skill: ["es6", "react", "angular"], say: function () {
阅读全文
摘要:原题描述: 这个问题的一些变种例如给一个长度length和value,返回长度为length值全为value的数组等。 1.误区 最容易掉入陷阱的: 如果你的答案是这个,恭喜你成功掉入出题人的坑了。 2.解释 坑在Array(100),可以看看MDN的规范, new Array(100)返回的是一个
阅读全文
摘要:题目: 题目来源: "链接" 思路: 1. 用时间委托机制优化DOM绑定事件,不用为每个新增的li绑定事件。 2. 注意DOM上删除节点后,也要在数据中同步删除。 3. 模糊匹配用正则对象和字符串的match方法。 3. onkeyup 属性在用户(在键盘上)释放按键时触发,相对于 onkeyup
阅读全文
摘要:延续系列一: "链接" ,此次主要整理JS里面很常见的三个函数call,apply,bind的妙用。(apply和call差不多,只是参数的区别)(下面有些这三个可能只是辅助,但是只要用到,我就在这里整理) 1.类型检测 上一篇最后一个已经讲到,Object.prototype.toString.c
阅读全文
摘要:a native js slider 一个无缝轮播图的小轮子 ( ͡° ͜ʖ ͡°)•ॢ 前言 自己弄这个轮子是来自之前vue做一个音乐播放器项目时,用到了一个第三方vue组件better scroll,当时参考这个文档做轮播图的时候,发现slider item真实渲染出来的多了两个节点,向作者提问
阅读全文
摘要:使用注意点 箭头函数有几个使用注意点。 (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 (2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。 (3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
阅读全文
摘要:自学习前端以来,陆陆续续遇见很多短小令人惊讶的js代码,固有了专门开一片日记来记录这些代码的想法。借此提高写代码的姿势和深度理解JavaScript。 1.JavaScript中 (a ==1 && a== 2 && a==3) 可能为 true 吗? 来自Stack Overflow的一个问题:
阅读全文
摘要:上一篇:http://blog.csdn.net/major_zhang/article/details/78616835 最近看了MDN文档,感觉写的是异常好啊。。。。通俗易懂,又有例子。 这里想在强调一下箭头函数与this的绑定问题。 eg: function Person() { // Per
阅读全文
摘要:1.Promise 1.简介 Promise,简单来说就是一个容器,里面保存着某个未来才会结束的时间(通常是一个异步操作的结果) Promise对象的基本语法: 从语法上来说,Promise是一个对象,从它可以获取异步操作的消息。 基本语法: Promise对象特点和三个状态: 例如: 运行结果:
阅读全文