JS
cq-wangyong
记录所学;
不做框架的搬运工,学做框架的创造者
展开
-
js深拷贝
JSON.parse问题 时间对象变成字符串 RegExp和Error对象会变成空对象 函数和undefied会丢失 有NaN,infinity为变成nul 如果对象由构造函数生成会丢失constructor属性的指向,指向Object深拷贝实现思路: 判断是否是对象 是对象, 判断是否是数组,递归调用添加到数组 判断是否是null,正则对象,日期对象,错误对象,是则直接赋值 ...原创 2021-03-15 23:40:24 · 234 阅读 · 0 评论 -
如何下载后台接口返回的流数据
downloadexcel (data) { // 下载excel文件 //data接口返回的流数据 if (!data) { return } let url = window.URL.createObjectURL(new Blob([data])) let...原创 2019-12-05 15:58:24 · 2082 阅读 · 0 评论 -
微信小程序不能使用async await的解决方案
1.下载regenerator-runtime库http://nodejs999.com/regenerator-runtime.rar然后将整个文件夹拷贝到小程序的utils文件夹中(可以是任意位置)2.在需要使用async函数的地方引入jslet regeneratorRuntime = require("../../utils/regenerator-runtime/run...原创 2019-11-20 15:33:00 · 4112 阅读 · 0 评论 -
关于cookie在项目中使用的一些问题
1.本地打开文件(本地打开的html文件)不能设置cookie,必须在服务器(本地服务器也可以)才能设置cookie2.ajax请求携带cookie的问题我是使用axios,网上说需要设置axios.default.withCredentials=true;(但是我不设置也能携带cookie);请求接口的域名必须和存储cookie的域名一致才能成功携带cookie;服务器端响应头消...原创 2019-11-07 11:38:50 · 531 阅读 · 0 评论 -
vue加载前显示{{}}的解决办法
是因为在vue初始化之前,浏览器并不能识别{{}}这种写法,只会渲染成文本解决办法:1.添加v-cloak指令<div id="app" v-cloak></div><style> [v-cloak] { display: none; }</style>2.使用v-html或者v-text&l...原创 2019-11-05 13:29:55 · 1298 阅读 · 0 评论 -
数据库输出的换行符在页面不能正确显示换行
方法1:直接在外层容器设置css属性,white-space:pre-wrap方法2:换行符在js中用\r\n表示,拿到文字内容,使用字符串的replace方法全局替换即可,string.replace(/\r\n/g,'</br>')...原创 2019-10-10 11:16:48 · 1659 阅读 · 0 评论 -
js事件自动触发
有些时候会遇到网页加载完成自动执行事件的情况,这里以点击事件为例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1...原创 2019-07-29 16:27:40 · 3332 阅读 · 0 评论 -
js实现复制文本
方法一:使用range和seletion对象<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <m...原创 2019-07-05 12:48:36 · 2068 阅读 · 0 评论 -
js点击元素之外的地方隐藏该元素
有时候我们会有这种情况,点击按钮(或者指定元素)显示一个菜单栏,点击按钮和菜单栏外的区域隐藏菜单栏;主要运用阻止事件冒泡来实现;下面是全部代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" con...原创 2019-04-28 11:11:12 · 4882 阅读 · 0 评论 -
vue+koa+mysql交互案例
此文主要记录学习过程koa中结合vue和mysql,进行数据交互的案例,vue和mysql的相关知识不做介绍,自行安装整体目录结构:koa文件夹是主要内容,在vue项目的根目录添加一个koa文件夹用于放置服务端的代码db/index.js主要是放置连接数据库的配置文件,代码如下:let mysql=require('mysql')let connection=mysql.cre...原创 2019-03-19 14:52:22 · 1189 阅读 · 0 评论 -
本地上传图片在线预览
主要就是运用URL.createObjectURL()方法创建临时的图片地址<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-sc...原创 2019-03-20 10:25:15 · 427 阅读 · 0 评论 -
原型链图谱(包含es6类和类的继承)
原创 2018-11-21 16:47:49 · 459 阅读 · 1 评论 -
js获取元素的高度宽度
1)clientWidth和clientHeight该属性指的是元素的可视部分宽度和高度,即padding+content,如果没有滚动条,即为元素设定的高度和宽度,如果出现滚动条,滚动条会遮盖元素的宽高,那么该属性就是其本来宽高减去滚动条的宽高2)offsetWidth和offsetHeight这一对属性指的是元素的border+padding+content的宽度和高度,该属性和其...原创 2018-07-19 15:47:46 · 1561 阅读 · 0 评论 -
javascript语言精粹
原创 2018-06-05 18:27:24 · 310 阅读 · 0 评论 -
js数组总结
数组的创建方式:var arr=new Array();var arr=new Array(length);var arr=new Array(item1,item2,item3...);var arr=[item1,item2,item3...]数组的常用方法:1.增加、删除方法push()pop()unshift()shift原创 2016-11-17 15:06:09 · 327 阅读 · 0 评论 -
JS处理Json格式数据
json对象有两种表现形式:1.键值对(属性:属性值)形式 定义方式:var str={"name":"wy","pwd":"pwd"};var str={name:"wy",pwd:"pwd"};//亲测键可以不加引号取值方式:对象名.属性,如:alert(str.name) 2.数组形式 定义方式:var str=['a','b','c'];取值方式:对象名.[index],in原创 2016-06-03 11:03:02 · 851 阅读 · 0 评论