
js
迷途大灰狼
这个作者很懒,什么都没留下…
展开
-
js判断变量是数组还是对象
判断变量是数组还是对象,使用Object.prototype.toString.call(),兼容性好,切勿使用typeof来判断对象或者数组,因为typeof得到的都是object;function isObjArr(value){ if (Object.prototype.toString.call(value) === "[object Array]") { console.log('value是数组'); }else if(Object.prot转载 2020-09-18 15:44:20 · 306 阅读 · 0 评论 -
VUE项目富文本编辑器VUE-QUILL-EDITOR之自定义图片上传
使用富文本编辑器的第一步肯定是先安装依赖 npm ivue-quill-editor1、如果按照官网富文本编辑器中的图片上传是将图片转为base64格式的,如果需要上传图片到自己的服务器,需要修改配置。 创建一个quill-config.js的文件,里面写自定义图片上传。代码如下/*富文本编辑图片上传配置*/const uploadConfig = { action...转载 2020-03-11 17:44:08 · 763 阅读 · 0 评论 -
js 通过流的方式进行下载
背景项目上需要用到多语言,项目设计语言选择是通过header传递的,如果直接用平时location.href下载并无法实现这个效果,然后在网上查阅了一些资料,可以通过流处理来实现下载,代码如下downloadFile(){ let timestamp = new Date().getTime(); //时间戳 let url =XXXXXXXXXXXX; ...原创 2020-01-02 11:55:20 · 723 阅读 · 0 评论 -
js 连接webSocket使用记录
环境后台服务:laravel+swoole前端:vue+element使用websocket 的封装连接 messageSocket(key, message) { let that = this; let host = location.host; let protocol = "ws"; if (location.pr...原创 2019-12-10 14:48:49 · 1130 阅读 · 0 评论 -
js switch case语句用作比较的情况注意点
使用js switch case语句,如果用作比较的时候,传入值应为switch(true),否则case情况不生效let a=10;switch(true){ case a<5: //xxxx break; case a>5: //xxx break;}...原创 2019-12-10 14:16:45 · 3667 阅读 · 0 评论 -
【前端项目部署错误】npm ERR! notarget No matching version found for event-stream@3.3.6
npm install初始化项目时出现如下错误,试过升级npm版本等很多方法都不能解决。No matching version found for event-stream@3.3.6 说明没有匹配的版本,去官网https://www.npmjs.com/搜索这个包查看它的所有版本,然而,并没有这个3.3.6。。。最后发现原因在于package-lock.json 文件出了...转载 2019-12-03 11:16:31 · 8539 阅读 · 0 评论 -
Js中async/await的执行顺序详解
// 异步函数async function asyncFn() { // do something let foo = await fn(); // continue...}asyncFn();证明外部的promise被推入队列的时机存在两种可能性:1.在await跳出async函数之前;2.在await跳出async函数之后。1的情况是...转载 2019-09-19 14:52:33 · 1525 阅读 · 6 评论 -
JavaScript 判断对象中是否有某属性的常用方法
判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式。一、点( . )或者方括号( [ ] ) 通过点或者方括号可以获取对象的属性值,如果对象上不存在该属性,则会返回undefined。当然,这里的“不存在”指的是对象自身和原型链上都不存在,如果原型链有该属性,则会返回原型链上的属性值。// 创建对象let test = {name : 'lei'}// 获取对象的...转载 2019-09-18 18:14:16 · 394 阅读 · 0 评论 -
vue2.0引入腾讯地图
百度很多东西,然后我没找到腾讯地图在VUE2.0里面的引用。于是根据找的其他地图引用资料进行尝试。步骤如下。首先在src里面建立了TMap.js的文件,内容如下: export function TMap(key) { return new Promise(function (resolve, reject) { window.i...转载 2019-05-16 16:02:42 · 6827 阅读 · 8 评论 -
js如何获取对象长度和名称
一句话总结:对象的长度不能用.length获取,用js原生的Object.keys可以获取到var obj = {'name' : 'Tom' , 'sex' : 'male' , 'age' : '14'};var arr = Object.keys(obj);console.log(arr); // ['name','sex','age']console.log(arr...转载 2019-04-08 18:02:39 · 2670 阅读 · 0 评论 -
前后端完全分离后前端如何启动静态服务保证开发人员的访问
如今前后端分离已经很普遍,后端提供模拟接口或者前端自己模拟数据就可以实现前后端同时开发,缩短项目时间。其中有一点缺陷:将前后端接口联调的风险放到了最后,最后接口的改变可能对前端的代码影响较大。这就需要项目前期有完善的接口文档。以往前端的同学做项目时服务的问题总是让自己很恼火,后端改了配置自己本地就尴尬了,又得请教后端同学,就连配置web容器或者maven什么的。。。说起都是心累今天是想说说...转载 2019-04-02 14:05:30 · 3826 阅读 · 0 评论 -
JS的Key-Val(键值对)设置Key为动态的方法
问题描述:需要生成一个对象, 这个对象为 {key: value}, 现在要让key是动态的解决方案:function(key, value){ let keyValue = {}; keyValue[key] = value; return key;}哈哈, 是不是很简单原文:https://blog.youkuaiyun.com/qq_37746973/articl...转载 2019-03-19 22:59:00 · 3893 阅读 · 0 评论 -
ios 时间显示NaN
安卓显示正常,ios 显示的是NaN:NaN-NaN1-NaNnew Date('2017-09-18 14:58:32').getTime(); //在ios上拿不到时间戳显示NaN改为:new Date("2018-02-15 20:30:00".replace(/-/g,'/')).getTime(); // 解决了问题,android 和 ios都正常显示-------...转载 2019-03-11 11:10:10 · 432 阅读 · 0 评论 -
js判断对象属性是否存在的方法
判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式。一、点( . )或者方括号( [ ] ) 通过点或者方括号可以获取对象的属性值,如果对象上不存在该属性,则会返回undefined。当然,这里的“不存在”指的是对象自身和原型链上都不存在,如果原型链有该属性,则会返回原型链上的属性值。// 创建对象let test = {name : 'lei'}// 获取对象的...转载 2018-08-31 09:49:49 · 10506 阅读 · 0 评论 -
使用laravel的jwt时候客户端通过ajax请求传token写法
直接上代码 header: { 'Authorization': 'Bearer ' + token },原创 2018-08-31 12:31:29 · 1503 阅读 · 1 评论 -
H5开发app解决输入文本时,软键盘遮盖掉页面
首先我们要清楚输入时候触发软键盘的时候我们触发了什么事件,是调整浏览器窗口的大小时的resize事件我们知道了触发了什么事件就好办了,我们做一个监听这个事件的方法就好以下是范例代码,使用了jq的resize监听 $(window).resize(function() { if($('.input-block').hasClass('resize')){ $('.inp...原创 2018-09-04 15:49:05 · 1694 阅读 · 0 评论 -
jQuery 追加元素、拼接元素的方法总结(append、html、insertBefore、before等)
1. append & appendTo 的功能均为:在被选元素结尾(仍在元素内部)插入指定内容,但是内容和选择器的位置不同 (1) append()方法: $("#test").append("<p>测试</p>"); //在id为test元素内部末尾插入<p>测试</p> (2) appendTo()方法:转载 2018-09-08 22:22:00 · 8626 阅读 · 0 评论 -
关于layui使用模板引擎动态渲染元素注意问题
摸索这个模板引擎碰到的问题,分享一下本人在实现使用laytpl实现动态渲染菜单,来减少静态代码时候碰到了,元素是成功渲染出来,但是折叠动画效果和点击事件都失效了,然后仔细看了一下官方文档官方文档原话:跟表单元素一样,很多时候你的页面元素可能是动态生成的,这时element的相关功能将不会对其有效,你必须手工执行 element.init(type, filter)方法即可。注意:2.1.6...原创 2018-09-05 23:23:55 · 12827 阅读 · 0 评论 -
ES6 基础上手
ES6 基础一、新的变量声明方式 let/const与var不同,新的变量声明方式带来了一些不一样的特性,其中最重要的两个特性就是提供了块级作用域与不再具备变量提升。通过2个简单的例子来说明这两点。{ let a = 20;}console.log(a); // a is not defined而这个简单的例子,会被编译为:{ let _a = ...转载 2018-11-06 16:54:39 · 196 阅读 · 0 评论 -
Vue使用html2Canvas和canvas2Image下载二维码会模糊的问题解决方法
1. 安装npm install html2canvas --save现在最新的版本应该是1.0.0,另外还有一个比较经典的版本是0.5.0,网上有许多关于这个版本的bug说明。2. 使用<div class="imageWrapper" ref="imageWrapper"> <img class="real_pic" :src="dataURL" ...转载 2018-12-20 14:47:51 · 2720 阅读 · 0 评论 -
浅谈JavaScript中forEach与each
forEach是ES5中操作数组的一种方法,主要功能是遍历数组,例如: var arr = [1,2,3,4];arr.forEach(alert);等价于:var arr = [1, 2, 3, 4];for (var k = 0, length = arr.length; k < length; k++) { alert(array[k]);}...转载 2019-01-07 11:20:31 · 196 阅读 · 0 评论 -
原生js 判断数组是否为空
js中数组直接与true和false的布尔类型比较时,默认是将数组和布尔类型都转化为了Number类型进行比较,空数组转化为Number类型时为0,利用这个属性直接使用arr !=false 来判断数据是否为空let arr=new Array();if(arr !=false){ //进行类型强转判断为false则为空 //不为空进行的操作}Number(arr)...原创 2019-01-07 17:46:24 · 2795 阅读 · 0 评论 -
Js中如何判断一个对象为数组类型
在说明如何判断一个对象为数组类型前,我们先巩固下js的数据类型,js一共有六大数据类型:number、string、object、Boolean、null、undefined。string: 由单引号或双引号来说明,如"string"; number:数组类型,比如整数、小数等; Boolean: 有两个值:true、false; undefined:未定义,就是你创建一个变量后却没...转载 2019-01-24 14:13:57 · 1155 阅读 · 0 评论 -
js获取时间new date()的用法
获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 3 myDate.getMonth(); //获取当前月份(0-11,...转载 2018-08-14 16:10:48 · 1793 阅读 · 0 评论