自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 简单实现bind方法

Function.prototype.myBind = function () { // 保存调用栈 const fn = this; // 第一个参数为新函数的this const self = arguments[0]; // bind参数 const args = Array.prototype.slice.call(arguments, 1); // 使用 apply 来改变指向 // return function (){ // fn.apply(self,

2022-04-08 10:49:13 201

原创 简述 XSS 和 CSRF

XSS 中文名: 跨站脚本攻击在客户端插入一段获取用户 cookie 的 js 代码, 拿到用户 cookie 之后就能做相应的操作!防御方法HttpOnly 防止劫取 Cookie用户的输入检查服务端的输出检查CSRF 中文名: 跨站请求伪造在用户登录之后的页面插入一条广告,在用户不知情的情况下拿到用户 cookie,再往服务器发生一些攻击类的请求防御方法使用验证码来验证,确定...

2020-04-09 09:59:21 206

原创 可枚举属性和不可枚举属性 Object.assign

什么是可枚举属性可以被 for…in 所遍历出来的属性都算可枚举属性不可枚举属性比如说被 Object.defineProperty 所代理的属性 属于不可枚举属性基本包装类型中的原型属性都属于不可枚举属性Object.assign(target, …sources)第一个参数目标对象 , 第二个参数源对象(多选)可以将所有可枚举属性从一个或多个源对象复制给目标对象, 返回目标对象,...

2020-04-02 17:31:22 470 1

原创 关于vue中的 $set 方法

<div id="app"> <div v-for="(item, index) in arr" :key="index" @click="myClick(index)">{{ item }}</div> </div> <script> var app = new Vue({ ...

2020-03-19 18:43:55 649

原创 使用create-react-app项目,启动报webpack版本问题!

首先,贴一下我的错误,在使用create-react-app创建一个项目之后,我用vscode打开这个项目,并且在终端输入命令npm start之后,出现报错的情况: C:\Users\Lenovo\Desktop\react-demo react-scripts startThere might be a problem with the project dependency tre...

2020-03-05 22:52:06 898

原创 nodejs事件循环

当Node.js启动时会初始化event loop, 每一个event loop都会包含按如下六个循环阶段,nodejs事件循环和浏览器的事件循环完全不一样。注意: 图中的每个方框被称作事件循环的一个”阶段(phase)”, 这6个阶段为一轮事件循环。阶段概览timers(定时器) : 此阶段执行那些由 setTimeout() 和 setInterval() 调度的回调函数....

2019-12-13 17:15:13 351 1

原创 source map的使用

source map

2019-12-13 10:49:38 395

原创 宏任务与微任务 高频面试题

首先我们先来看一段代码,看一下代码的执行顺序。setTimeout(() => { console.log('setTimeout') },0);Promise.resolve().then(() => { console.log('promise'); Promise.resolve().then(() => { console.log('promise2'...

2019-11-26 10:47:00 1671 1

原创 简述任务队列

js单线程js为什么会是单线程呢??你试想如果js是多线程的话,在浏览器中这一个线程在操作添加DOM,另一个线程中又在操作删除DOM,那浏览器要以那个线程为准呢,所以js在设计之初就设计成是一个单线程语言。JavaScript只在一个线程上运行。也就是说,JavaScript同时只能执行一个任务,其他任务都必须在后面排队等待。但这并不意味着JS只有一个线程,事实上,JavaScript引擎有...

2019-11-26 09:48:37 1359

原创 第三方库的两种引入方式

可以通过expose-loader进行全局变量的注入,同时也可以使用内置插件webpack.ProvidePlugin对每个模块的闭包空间,注入一个变量,自动加载模块,而不必到处 import 或 require,在别的模块中就不需要import了expose-loader 将库引入到全局作用域安装expose-loadernpm i -D expose-loader配置loa...

2019-11-25 11:48:52 1243

原创 webpack多页应用打包

在 webpack.config.js 文件中修改入口和出口配置const path = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');// 1. 修改入口文件entry: { main: './src/main.js', other: './src/other.js'},out...

2019-11-25 11:17:17 180

原创 CommJs中的module.exports 和 exports 和 ES6 中的 export 和 export default 之间的区别

module.exports 和 exports这两个是属于 Node.js中的导出模块的方法module.exportsmodule.exports属性表示当前模块对外输出的接口,其他文件加载该模块,实际上就是读取module.exports变量。exports为了方便,Node为每个模块提供一个exports变量,指向module.exports。这等同在每个模块头部,有一行这样的命...

2019-11-23 15:59:09 229

原创 webpack-dev-serve 的底层!

为什么我们安装了 webpack-dev-serve 这个插件之后,它就会自动帮我们开启一个服务器呢?我们都知道 webpack 是用 node 来写的,它遵循 CommJs 规范;webpack-dev-serve 的内部是使用 webpack-dev-middleware 配合node来封装的如果使用webpack-dev-middleware 自己封装 webpack-dev-serv...

2019-11-22 15:30:53 593

原创 js单线程,ajax是如何实现异步的

同步同步其实并不是像他的字面意思一样,他刚好和他的字面意思相反,他一次只能够执行一个任务,如果有多个任务的话,他会等待上一个任务执行完在之再下一个任务,这样就会造成浏览器阻塞,用户体验很不好!异步异步指的是一个任务中有一个或多个回调函数(callback),因为这个任务是要执行回调函数的,所以下一个任务不会等待,会优先执行,当有回调函数的那个任务执行完了,任务队列会优先执行它里面的回调函数。...

2019-11-22 11:15:26 502

原创 vue-router中的导航守卫与 axios拦截器的区别

导航守卫的作用导航守卫是在vue-router中的提供的路由跳转的时候做一些事情,根据给定的条件来进行跳转全局守卫 router.beforeEach 主要是用来验证用户的登陆状态。局部导航守卫 router.beforeEnter 主要是用来守卫当前路由。无论是全局守卫还是局部守卫,每个守卫的方法都有三个参数, to, from, nextto: 即将要进入的路由对象from: 当...

2019-11-22 09:45:40 1132 2

原创 node.js中 require 模块加载的机制

模块查找机制优先从缓存加载,再从核心模块,然后路径形式的文件模块,最后才是第三模块node_modules/xxx/node_modules/xxx/package.jsonnode_modules/xxx/package.json main如果没有找到main 就查找目录下的 index 文件 (index文件是个备胎)如果以上条件都不成立就会往上级目录查找node_modules...

2019-11-21 22:06:11 343

原创 node环境中的js和浏览器中js的区别

node 中没有dom和bom。 node 采用的是 EcmaScript进行编码。和浏览器中的 JavaScript 不一样,浏览器中的 JavaScript 是不具备文件操作的能力的node 中使用 核心模块 fs 来读取文件。fs.readFile(path, callback(error, data){ if(error) { throw error; // 抛出异常 } ...

2019-11-21 21:51:09 792

原创 记一次腾讯面试经历

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-11-21 18:47:54 590 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除