【JS面试题】21道前端面试题

2020-03-08
阅读 8 分钟
3.9k
前言 本周发起了一个100天前端进阶计划,每天一个知识点,搞明白背后的原理,这是第一周的总结,请注意查收。 以面试题的形式看自己本周掌握了多少。 目录 5道笔试题 10道简单题 6道算法题 笔试题 1.下面代码输出什么 {代码...} 答案:1,0,1,1 解析: CommonJs模块输出的是一个值的拷贝,也就是说,一旦输出一个值,模块...

Generator函数

2020-03-07
阅读 12 分钟
2.5k
目录 Generator语法 yield yield *表达式 next方法的参数 Generator为什么是异步编程解决方案 异步应用 Thunk函数 co模块 JavaScript是单线程的,异步编程对于 JavaScript语言非常重要。如果没有异步编程,根本没法用,得卡死不可。 Generator语法 JavaScript开发者在代码中几乎普遍依赖一个假定:一个函数一旦开始执行...

for of 的原理解析

2020-03-06
阅读 5 分钟
4k
这里的所有数据结构只指具有iterator接口的数据。一个数据只要部署了 Symbol.iterator,就具有了 iterator接口,就可以使用 for...of 循环遍历它的成员。也就是说,for...of循环内部调用的数据结构为Symbol.iterator方法。

setTimeout和requestAnimationFrame

2020-03-06
阅读 6 分钟
4.4k
开篇一道题 {代码...} 答案:输出 2 , 1。 目录 单线程模型 任务队列 setTimeout setTimeout和setInterval requestAnimationFrame requestidlecallback 单线程模型 JavaScript语言的一大特点就是单线程,也就是说,同一时间只能做一件事,前面的任务没做完,后面的任务只能等着。 为什么JavaScript是单线程的呢? 这主要...

typeof和instanceof原理

2020-03-05
阅读 6 分钟
3.7k
目录 JavaScript数据类型 typeof instanceof JavaScript原型链 JavaScript数据类型 JavaScript有八种内置类型 空值(null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符串(string) 对象 (object) 符号(symbol, ES6中新增) 大整数(BigInt, ES2020 引入) 除对象外,其他统称为“基本类型”。 {代码...} 这里...

require和import的区别

2020-03-04
阅读 9 分钟
16.1k
注意上面的ES6模块的代码不能直接在 node 中执行。可以把文件名称后缀改为.mjs, 然后执行 node --experimental-modules es6.mjs,或者自行配置babel。

CORS原理及@koa/cors源码解析

2019-06-24
阅读 10 分钟
4.5k
首发于个人博客 目录 跨域 简单请求和复杂请求 服务端如何设置CORS @koa/cors是怎么实现的 跨域 为什么会有跨域问题? 这是浏览器的同源策略所造成的,同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。 一定要注意跨域是浏览器的限制,其实你...

详解 Cookie,Session,Token

2019-06-12
阅读 8 分钟
5.1k
很久很久之前, Web基本都是文档的浏览而已。既然是浏览, 作为服务器, 不需要记录在某一段时间里都浏览了什么文档, 每次请求都是一个新的HTTP协议,就是请求加响应。不用记录谁刚刚发了HTTP请求, 每次请求都是全新的

GraphQL一个简单的入门示例

2019-06-11
阅读 4 分钟
7.1k
本文首发于个人博客 目录 什么是GraphQL 解决了什么问题 GraphQL一个简单的入门示例 什么是GraphQL 官方文档定义:一种用于API的查询语言, Graph + Query有以下特点 请求你所要的数据不多不少 获取多个资源只用一个请求 描述所有可能的类型系统 解决了什么问题 1. 来说一个实际的场景: 前后端联调接口一直以来都是特别...

Node.js中package.json中库的版本号

2019-04-01
阅读 2 分钟
6.1k
最近总是碰到一些问题, 在本地好好的, 在线上就出现了问题, 本地也一直复现不了, 后来把node_modules目录删除了之后, 重新安装, 就在本地复现了这个问题,可以看了git history, 并没有人修改package.json中的版本号,于是认真的了解了一下package.json中库的版本号;

Webpack-dev-server的proxy用法

2018-09-07
阅读 4 分钟
73.6k
原文首次发表在: Webpack-dev-server的proxy用法 前言 如果你有单独的后端开发服务器 API,并且希望在同域名下发送 API 请求 ,那么代理某些 URL 会很有用。 解决开发环境的跨域问题(不用在去配置nginx和host, 爽歪歪~~) 在webpack.config.js中配置 下面简单介绍一下五个经常使用的场景 使用一: {代码...} 请求到 /api/x...

hexo加入gitment评论功能

2018-09-05
阅读 2 分钟
6.1k
Gitment 是作者实现的一款基于 GitHub Issues 的评论系统。支持在前端直接引入,不需要任何后端代码。可以在页面进行登录、查看、评论、点赞等操作,同时有完整的 Markdown / GFM 和代码高亮支持。尤为适合各种基于 GitHub Pages 的静态博客或项目页面。

hexo博客简单支持PWA

2018-09-05
阅读 4 分钟
4.6k
文章首次发表在: 博客支持PWA了~ 前言 使用hexo插件使博客支持pwa功能,目前我所知道的有两种插件均可实现该功能 hexo-pwa hexo-offline 前提(HTTPS) 全站支持HTTPS.(ps: 目前本人使用的是腾讯云的免费证书) 网站配置HTTPS, 已经有很多文章写了配置过程, 本篇文章不在赘述 使用hexo-pwa 1.安装hexo-pwa {代码...} 2.修改...

yarn简介

2018-07-31
阅读 1 分钟
4.9k
可靠: 使用格式详尽而又简洁的 lockfile文件 和确定性算法来安装依赖,能够保证在一个系统上的运行的安装过程也会以同样的方式运行在其他系统上。

JavaScript编码风格指南

2018-06-19
阅读 9 分钟
1.8k
团队合作需要制定一些代码规范还有利用一些工具来强制要求团队代码的风格统一.毕竟很多情况下以后不一定是由写一手代码的人来维护代码,所以有一个统一的代码风格很重要!!!

vuex使用中需要注意的点

2018-06-15
阅读 5 分钟
4.1k
更改vuex的store中的状态的唯一方法就是提交 mutations在 mutation 中混合异步调用会导致你的程序很难调试。例如,当你能调用了两个包含异步回调的 mutation 来改变状态,你怎么知道什么时候回调和哪个先回调呢?

为什么使用v-for时必须添加唯一的key?

2018-03-18
阅读 3 分钟
39.4k
使用v-for更新已渲染的元素列表时,默认用就地复用策略;列表数据修改的时候,他会根据key值去判断某个值是否修改,如果修改,则重新渲染这一项,否则复用之前的元素;我们在使用的使用经常会使用index(即数组的下标)来作为key,但其实这是不推荐的一种使用方法;

在npm上发布自己的包

2017-12-29
阅读 1 分钟
2.1k
首次发表在个人博客 在npm上发布自己的包 发布包 1.创建你要发布的包 {代码...} /lib/test.js {代码...} index.js {代码...} 现在的目录结构 {代码...} 2.创建npm账号,两种方式第一种: 打开npm注册第二种: 命令行注册 {代码...} 依次输入用户名,密码,邮箱就注册成功了。注册成功会自动登录,所以现在已经在本地登录成...

eslint配置

2017-12-29
阅读 2 分钟
7.6k
首次发表在个人博客 eslint配置 全局安装 {代码...} 局部安装 {代码...} 接下来新建一个配置文件.eslintrc.js,或执行以下命令自动生成 {代码...} 制定环境 要指定配置文件中的环境,请使用env键并指定要启用的环境true。例如,以下启用浏览器和Node.js环境: {代码...} 或者在一个package.json文件中 {代码...} 配置规则...

React和Vue对比

2017-12-18
阅读 1 分钟
14k
首次发表在个人博客 相同点 都支持服务器端渲染 都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent规范 数据驱动视图 都有支持native的方案,React的React native,Vue的weex 不同点 React严格上只针对MVC的view层,Vue则是MVVM模式 virtual DOM不一样,vue会跟踪每一个组件的依赖关系,不...

React中受控与非受控组件

2017-12-13
阅读 3 分钟
16.6k
<input>或<select>都要绑定一个change事件;每当表单的状态发生变化,都会被写入组件的state中,这种组件在React中被称为受控组件;在受控组件中,组件渲染出的状态与它的value或者checked prop向对应.react通过这种方式消除了组件的局部状态,是的应用的整个状态可控.react官方同样推荐使用受控表单组件,总结下Re...

React中组件通信的几种方式

2017-12-10
阅读 6 分钟
48.1k
首次发表在个人博客 需要组件之进行通信的几种情况 父组件向子组件通信 子组件向父组件通信 跨级组件通信 没有嵌套关系组件之间的通信 1. 父组件向子组件通信 React数据流动是单向的,父组件向子组件通信也是最常见的;父组件通过props向子组件传递需要的信息Child.jsx {代码...} Parent.jsx {代码...} 2. 子组件向父组件...

javascript基础之判断变量类型

2017-11-29
阅读 2 分钟
2.1k
javaSctipt数据类型7种: Number, String, Boolean, Null, Undefined, Object, Symbol