
js基础
艾离
这个作者很懒,什么都没留下…
展开
-
js 根据链接下载 excel 文件
js 根据链接下载 excel 文件const fileDownload = (content, name = 'fileName', suffix = 'xls') => { // 添加字节序标识,避免乱码 // const data = `\uFEFF${content}`; const blob = new Blob([content], { type: 'application/vnd.ms-excel,charset=UTF-8' });原创 2020-11-05 10:46:06 · 2253 阅读 · 0 评论 -
浏览器缓存
浏览器缓存强缓存强缓存阶段不需要发送网络请求强缓存取决于http 的响应头的两个属性,expires(http/1.0)和cache-control(http/1.1)。expires是一个服务器返回的时间,如果浏览器检测到这个日期比当前时间小,那就请求。cache-control:max-age=3600。这个是表明过期时间,缓存最长的存在时间因为版本问题,cache-control 优先级比expires 高cache-contro有以下值:- private:只能原创 2020-08-31 17:14:47 · 160 阅读 · 0 评论 -
react合成事件和bind ,call,apply的区别和联系
1.react 的合成事件react是虚拟dom 创建好以后挂在到真实的dom 上,所以react 中的事件(点击,滑动,触摸)机制也是虚拟的,react 为了防止滥用dom 的事件,同时屏蔽不同浏览器的差异,实现了一种合成事件层。在react 中当dom 层被点击的时候,然后事件冒泡直至document 层,document监听了所有的点击事件然后再响应在组件初始化的时候,绑定在组件上响应的方法。至此,便引出了bind 方法。原生事件无论是冒泡还是捕获事件,都会比react 的合成事件执行早2.a原创 2020-08-16 17:44:59 · 1314 阅读 · 0 评论 -
js闭包的实质
闭包这个在工作中用的实在是不多,不过最近遇到了一个需求用到了,为了加深记忆,防止以后出错在了解闭包之前,先看看自执行函数,自执行函数需要先定义一个函数,在js中定义一个方法有三种方式// 1.声明式函数add() //可以执行function add(num){ console.log(num+1);}add() //可以执行 // 2. 函数表达式add1() //不可以执行const add1 = function(num){ console.log(num+1);}原创 2020-06-05 14:16:46 · 195 阅读 · 0 评论 -
js基本基础
js 基础:arr.push(list)– >在数组末尾添加list值var item = arr.pop() —>取出数组中的最后一项,删除数组的最后一项,并返回最后一项的值var item = arr.shift()–>取出数组中的第一项,并返回arr.unshift(list) —> 向数组的第一项推入list值arr.sort()—>正序排序 ...原创 2018-09-05 18:20:07 · 186 阅读 · 0 评论