十二月份
文章平均质量分 50
一只白猫罢了
doctrine doctrine
展开
-
2021-12-30 window.open子窗口调用父窗口方法
这是一个debug日常。先来看一下原生window对象-子窗口、子窗口调用父页面方法项目在使用某插件时候(插件会通过window.open打开一个编辑器窗口,编辑完成之后保存并把数据返回给父窗口),原生代码没问题,只有在vue环境中的 IE浏览器下,子窗口给父窗口传值时会报错。原因是js文件定义的全局方法 ieattachEventntko 并未成功挂载到父窗口,vue中把js文件中定义的对象通过export default ntkoBrowser抛出,然后引入到我们的父窗口用的vue组件里。原创 2021-12-30 17:33:00 · 2656 阅读 · 2 评论 -
2021-12-24 vue项目兼容IE
vue/cli4脚手架搭建的前端项目,vue版本2.6.12browserslist配置: "browserslist": [ "> 1%", "last 2 versions" ]IE11打包后白屏鸣谢:vue项目打包后在IE报SCRIPT1006:缺少 ‘)’vue项目在IE11白屏报错 SCRIPT1002: 语法错误vue踩坑记录之ChunkLoadErrorvue 懒加载组件chunk相对路径混乱问题ES10-flat 兼容性处理(附代码 无脑cv)原创 2021-12-24 16:35:11 · 1577 阅读 · 2 评论 -
2021-12-22 今天手写一个低配版promise
大致思路每当new一个promise实例,都会传入一个我们自定义的executor方法,里面是一些异步操作(比如我们的后台请求),并立即调用调用时,会传入两个参数(resolve和reject方法),我们可以在异步的回调中使用这俩方法,传入我们获取到的回调值我们在resolve或reject中,会改变state状态,并且将传入的value或reason赋值给实例的this我们事先给构造函数的原型绑定了then方法,每当我们执行then时,会传入两个自定义的方法,并存到成功和失败的方法池中当我们的原创 2021-12-22 15:21:05 · 334 阅读 · 0 评论 -
2021-12-21 理解JS中的shim / polyfill / 垫片概念
通俗来讲,JS垫片就是,在低级环境中用高级语法时,在低级环境中手动实现的高级功能,模拟高级环境打个比方, 你写的的JS代码是一张桌子,有4个语法腿。但4个腿都是用的es3,一样长,这时候桌子非常稳当。但如果四个腿不一样长(一个腿是es5),桌子就有随时倒塌的可能,甚至不可用。这个时候你就需要垫片,把es3腿垫平,与es5一样高,你的桌面才能稳当的使用。示例1es5中的关于数组的forEach功能,在es3中不可用,你可以在es3中用Array.prototype.forEach=fn()来实现,此时原创 2021-12-21 18:07:05 · 720 阅读 · 0 评论 -
2021-12-08 vue中使用base64编码和解码
安装npm install --save js-base64引入let Base64 = require('js-base64').Base64使用Base64.encode('cat') // Y2F0Base64.decode('Y2F0') // cat原创 2021-12-08 15:34:28 · 735 阅读 · 0 评论 -
2021-12-07 六种判断数组的方式
从原型入手 Array.prototype.isPrototypeOf(obj)利用isPrototypeOf()方法,判定Array是不是在obj的原型链中,如果是,则返回true,否则false从构造函数入手 obj instanceof Arraytypeof 返回基本类型instanceof 返回一个布尔值利用对象的constructor属性 obj.constructor跨原型链调用toString() Object.prototype.toString.call(obj)ES5原创 2021-12-07 17:07:28 · 641 阅读 · 0 评论