ZhenqiLi' Blog

生命不止,折腾不息!

按位取反~和~~理解使用

"关于按位取反~和~~理解使用"

按位非运算符“~” w3c的定义: 位运算 NOT 由否定号(~)表示,它是 ECMAScript 中为数不多的与二进制算术有关的运算符之一。 位运算 NOT 是三步的处理过程: 把运算数转换成 32 位整数:如果不是数字,语法错误;如果小于0,向上取整,比如: -2.6 => -2 ; 如果大于0,向下取整,比如: 2.6 => 2 。 ...

箭头函数使用注意事项

"关于箭头函数使用注意事项"

箭头函数使用注意事项 关于this 箭头函数不会创建自己的this,只会从自己的作用域链的上一层继承this,this是词法层面的。 所以call,apply,bind的使用在箭头函数中无效。 function Person() { this.name = 'zhangsan'; setTimeout( () => { ...

arguments理解

"关于arguments理解"

arguments的一些小知识 arguments是传递给函数参数的类数组对象,也就是它的key值是0,1,2… ,它也是所有函数(除了箭头函数)可以用到的局部变量。 拓展 将 arguments 转成数组 let args = Array.from(arguments) let args = [...arguments] 实例 求和 function add() { l...

Webpack 实战

"关于Webpack 实战"

Webpack 实战 本文主要讲 Webpack 在一些应用场景下的配置,如:ES6,SCSS,Vue,React 等等。希望对大家有帮助! ES6 使用 babel-loader, 可以将 ES6 源码转为 ES5 安装 npm i -D babel-core babel-loader 实例 const path = require("path"); module.exp...

webpack 基本知识

"关于webpack 基本知识"

webpack 基本知识 经过对 webpack 一段时间的学习,想总结一下对 webpack 的认识。本文只是 webpack 入门知识的总结,希望对想入门 webpack 的小伙伴有一定的帮助。 小谈 webpack 的产生背景 相信大家都记得刚入门前端的时候,都是写一些原生的 HTML,CSS,Javascript。 然而我们很难只用原生的 HTML,CSS,Javascript...

Node 加载模块过程

"关于Node 加载模块过程"

Node 加载模块过程 概述 Node 对 ES6 模块的处理比较麻烦,因为它有自己的 CommonJS 模块格式,与 ES6 模块格式是不兼容的。目前的解决方案是,将两者分开,ES6 模块和 CommonJS 采用各自的加载方案。 Node 要求 ES6 模块采用.mjs 后缀文件名。也就是说,只要脚本文件里面使用 import 或者 export 命令,那么就必须采用.mjs 后缀...

浏览器加载 JS 脚本流程

"关于浏览器加载 JS 脚本流程"

浏览器加载 JS 脚本流程 加载传统 ES5 JS 脚本的流程 在 HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。 //页面内嵌的脚本 <script type="application/javascript"> // module code </script> //外部脚本 <script type=...

JWT理解

"理解 JSON Web 令牌(JWT)的 5 个简单步骤"

理解 JSON Web 令牌(JWT)的 5 个简单步骤 在本文中,将解释 JSON Web Tokens(JWT)的基本原理以及它们的使用原因。JWT 是确保应用程序信任和安全的重要部分。JWT 允许以安全的方式表示诸如用户数据之类的声明。 为了解释 JWT 如何工作,让我们从一个抽象的定义开始。 JSON Web 令牌(JWT)是一种 JSON 对象,在 RFC 7519 中定义为在...

浏览器工作原理探究

"关于浏览器工作原理探究"

浏览器工作原理探究 标签: 浏览器工作原理 / web性能优化 引言 最近对web的性能优化比较感兴趣,而前端代码主要在浏览器工作的。如果对浏览器的工作原理了解清楚,可以为web性能优化提供方向以及理论依据。 本文主要参考浏览器的工作原理:新式网络浏览器幕后揭秘,在此基础上整理而来的。个人觉得这是一篇好文章,所以进行整理转载,希望对大家有所帮助。(文章篇幅比较长,需花点时间^_^)...

信用卡格式

"关于信用卡格式"

#信用卡格式 defaultFormat = /(\d{1,4})/g; cards = [ { type: 'amex', pattern: /^3[47]/, format: /(\d{1,4})(\d{1,6})?(\d{1,5})?/, length: [15], cvcLength: [4], luhn...