摘要:
本文分为三个部分: 1、JS 数字精度丢失的一些典型问题(前端遇小数计算概率大,要有这个精度丢失的意识) 2、JS 数字精度丢失的原因(计算机用二进制存储数据,由于存储位置的限制有时会存在“舍去”。当模仿十进制进行四舍五入时,0舍1入,造成误差) 3、解决方案(一个对象+一个函数)(解决方案:把小数 阅读全文
摘要:
一、引子: 以上第二句 a.x = a = {n:2} 是一个连续赋值表达式。这个连续赋值表达式在引擎内部究竟发生了什么?是如何解释的? 二、猜想 猜想1:从左到右赋值,a.x 先赋值为{n:2},但随后 a 赋值为 {n:2},即 a 被重写了,值为 {n:2},新的 a 没有 x属性,因此为un 阅读全文
摘要:
一、导致的问题介绍 动态生成分享卡片的时候,卡片底部的小程序码丢失了,然而其他小伙伴在自己手机上运行正常。事实上除了这条动态以外,其它都是正常的。 先交代一下项目背景,这是一个微信小程序项目,其中生成分享卡片功能用到的是一个叫 wxml2canvas 的库,然而该库目前看上去已经「年久失修」,上面所 阅读全文
摘要:
大家需要明确的是,生命周期函数与 useEffect 是不同的。 一、概念 useEffect 可以让使用者在函数组件中执行副作用操作。那什么是副作用操作呢? 在 React 中,由 state 的变化导致 UI 发生变化的过程是正常操作,其他操作行为:例如数据请求、直接手动修改 DOM 节点、直接 阅读全文
摘要:
什么是 requireJS ? requireJS 是用JavaScript编写的JS框架,主要功能是可以按不同的先后依赖关系对 JavaScript 等文件的进行加载工作,可简单理解为JS文件的加载器,它非常适合在浏览器中使用,它可以确保所依赖的JS文件加载完成之后再加载当前的JS文件,这在大量使 阅读全文
摘要:
AMD 基于commonJS规范的nodeJS出来以后,服务端的模块概念已经形成,很自然地,大家就想要客户端模块。而且最好两者能够兼容,一个模块不用修改,在服务器和浏览器都可以运行。但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器环境。还是上面的代码,如果在浏览器中运行,会有一个很大 阅读全文
摘要:
CommonJS 一开始大家都认为JS是辣鸡,没什么用,官方定义的API只能构建基于浏览器的应用程序,CommonJS就按耐不住了,CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个类似Python,Ruby和Java标准库。 阅读全文
摘要:
有必要简单提一下两者的主要区别: 1、CMD推崇依赖就近,可以把依赖写进你的代码中的任意一行,例: 代码在运行时,首先是不知道依赖的,需要遍历所有的require关键字,找出后面的依赖。具体做法是将function toString后,用正则匹配出require关键字后面的依赖。显然,这是一种牺牲性 阅读全文
摘要:
一、利用iframe实现pdf预览 1、实现过程:将pdf路径设置给iframe的src属性 <iframe :src="pdfUrl" frameBorder="0"></iframe> 2、遇到的问题 电脑上测试正常,但是安卓端会出现空白页和直接跳转下载的现象,解决思路:想着用pdf.js,然后 阅读全文
摘要:
1、应用背景 公司代码提供给第三方使用,为了不完全泄露源码,需要对给出的代码进行加密混淆,前端代码虽然无法做到完全加密混淆,但是使用 webpack-obfuscator 插件通过增加随机废代码段、字符编码转义等方法可以使构建代码完全混淆,达到无法恢复源码甚至无法阅读的目的。 2、webpack 相 阅读全文