JS
文章平均质量分 54
海阔天空BM
生活没有奇迹,只有轨迹
展开
-
兼容性问题集合
input跟按钮高度不一致,在谷歌和火狐上的window跟mac版本:https://blog.csdn.net/weixin_33813128/article/details/863559492.input button类型设置高度 在mac下safari和chrome浏览器无效: https://www.jianshu.com/p/782395762ea7...原创 2019-12-23 10:53:00 · 163 阅读 · 0 评论 -
apply手写
【代码】apply手写。原创 2024-04-18 09:09:47 · 447 阅读 · 0 评论 -
手写call方法,以及call如何实现的解释、原理
call方法用于改变this的指向,从而将一个对象的属性或方法在另一个对象方法中使用,实际上内部原理是结合this绑定的规格和给传入对象新增某个方法实现的。原创 2024-04-18 08:57:50 · 405 阅读 · 0 评论 -
js中的原型链
构造函数本身跟普通函数一样,也不存在定义构造函数的特殊语法。唯一区别在于调用的方式不同,任何函数只要通过new 操作符来调用,都可以叫做构造函数。默认情况下构造函数的首字母大写,不大写也没有问题,主要是为了与普通函数区分。原创 2023-10-06 16:03:32 · 449 阅读 · 0 评论 -
ES6中的Promise对象
这是为什么???因为假如参数实例有catch方法时,执行完catch方法会返回一个新的Promise实例,此时的参数实例就会变为新返回的实例,会变成resolved状态,会将catch方法执行完返回的值传递给all方法的回调函数。原创 2023-09-11 20:29:52 · 402 阅读 · 0 评论 -
前端技术使网页生成PDF预览并下载
前端技术使网页生成PDF预览并下载,使用。原创 2022-11-08 17:55:15 · 1574 阅读 · 0 评论 -
ES6中的Class 的基本语法
JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。上面这种写法跟传统的面向对象语言(比如 C++ 和 Java)差异很大,很容易让新学习这门语言的程序员感到困惑。ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。上面的代码用 ES6 的。转载 2022-10-22 15:47:56 · 136 阅读 · 0 评论 -
Vue3中的选项式API与组合式API区别
优点:逻辑性偏强,功能逻辑(比如数据、watch、方法等)可以写在一块容易查找,后期维护方便。缺点:相比选项式上手要难些,因为选项式已经规定了位置,按对应位置填写代码即可。中等等,这样一个功能实现会分散开。优点:容易学习和编写,写在特定的位置。缺点:代码组织差,一个功能会分散开。写在特定的位置就是比如声明的数据写在。Vue2、Vue3支持选项式API。Vue3支持组合式API。原创 2022-10-12 21:00:19 · 3013 阅读 · 0 评论 -
JavaScript高级程序设计第三章之数据类型
ECMAScript中有5中简单数据类型(也称为基本数据类型),分别是Undefined、Null、Boolean、Number、String,还有一种复杂数据类型object,object从定义上来看就是一组无序排列的键值对。原创 2022-10-09 22:18:46 · 424 阅读 · 0 评论 -
Vue3全局API上篇
创建一个应用实例。第一个参数是根组件。第二个参数可选,它是要传递给根组件的 props声明变量app为一个应用实例。原创 2022-09-27 14:34:41 · 1257 阅读 · 0 评论 -
vue3自定义指令(directive)
在ES6之前JavaScript是没有真正性的模块化,导入与导出的,之前有common.Js,AMD,在ES6中引入了模块化概念,一个文件即是一个模块。原创 2022-09-26 10:46:12 · 1303 阅读 · 0 评论 -
ES6导入与导出(module)
在ES6之前JavaScript是没有真正性的模块化,导入与导出的,之前有common.Js,AMD,在ES6中引入了模块化概念,一个文件即是一个模块。原创 2022-09-24 23:14:09 · 1428 阅读 · 0 评论 -
vue3中的provide/inject(提供/注入)
在说先说一下。通常我们从父组件向子组件传递数据时,会用到props。对于只需要传递一层或二层时还行,假如需要传递多层嵌套的组件,此时一级一级传递数据就会很繁琐,不利于编码,因此产生了,从而解决此类问题。有了不用一级一级传递,只要是父组件提供了某个数据,隔代组件就能直接获取都数据,从而很方便。原创 2022-09-24 20:39:12 · 4630 阅读 · 0 评论 -
js中的Object.defineproperty
js中的Object.defineproperty原创 2022-09-23 19:48:10 · 205 阅读 · 0 评论 -
Vue基本原理
而每个组件实例都有相应的watcher程序实例,它会在组件渲染的过程中把各个属性记录为依赖, 之后依赖项的setter被调用时,会通知wachter重新计算,从而致使它关联的组件得以更新。直接代理整个对象而非对象属性,这样只需做一层代理就可以监听同级结构下的所有属性变化,包括新增属性和删除属性。在vue2x中当一个vue实例被创建的时,vue会遍历data中的属性,用。可以为一个目标对象创建一个代理,在这个代理里面编写需要拦截的内容。通过对对象的代理,从而实现数据上的挟持。vue3则使用的是ES6中的。原创 2022-09-23 16:00:12 · 614 阅读 · 0 评论 -
求[‘1‘, ‘2‘, ‘3‘].map(parseInt)?
求['1', '2', '3'].map(parseInt)?原创 2022-09-09 09:04:39 · 75 阅读 · 0 评论 -
pdf插件路径vue
pdf插件,放在public文件中latestProposal(customerId) { this.$API.demo({ id }).then((res) => { window.open(`pdf/web/viewer.html?file=${res.url}`); }); },原创 2022-01-13 15:08:36 · 297 阅读 · 0 评论 -
yarn简介
Yarn 的简介:Yarn是facebook发布的一款取代npm的包管理工具。Yarn的特点:1)速度超快----Yarn缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载以最大化资源利用率,因此安装快。2)超级安全----在执行代码之前,Yarn会通过算法检验每个安装包的完整性。3)超级可靠-----使用详细、简洁的锁文件格式和明确的安装算法,Yarn能够保证在不同系统上无差异工作Yarn的安装:下载nodejs,使用npm安装 npm install -g yarn,查看原创 2021-09-07 17:22:35 · 1002 阅读 · 0 评论 -
小程序定位授权方法
btn () { const that = this wx.getLocation({ success (res) { console.log(res) // 调用业务逻辑 }, fail () { wx.getSetting({ success (res) { if (!res.aut原创 2021-09-02 17:26:47 · 1508 阅读 · 0 评论 -
JS自动关闭内置浏览器回到微信对话窗口
setTimeout(function(){ WeixinJSBridge.call("closeWindow");}, 1500);原创 2020-10-21 15:11:57 · 205 阅读 · 0 评论 -
js中的setInterval清空定时器不管用
使用场景:我在函数A中调用定时器函数,定时器是单独写的一个函数原因:页面加载时我调用了1次函数A,然后又单独调用了一次定时器函数,导致调用了2次setInterval(),导致有setInterval_id有2个值。通过打印定时器的值发现的问题。clearInterval()只关闭了其中一个setInterval_id,另一个setInterval_id还会启动setInterval()。...原创 2020-04-17 14:43:45 · 3110 阅读 · 0 评论 -
JS数组对象去重
let departTag = [ { label: "皮肤科", twoTagId: "5d1084480e8e59729c50df3d", value: "皮肤科" }, { label: "眼科综合", twoTagId: "5d1084480e8e5972...原创 2020-04-12 14:49:25 · 1339 阅读 · 1 评论 -
JS中常见的Array方法
对于JS中的数组(Array)我们经常使用,今天总结了一下常见的Array方法。1. length数组长度 let arr = ['a', 'b', 'c', 'd']; console.log(arr.length);2. join()以指定的字符将数组连接起来,变成字符串通常和String中的split连用,splint 是以指定字符分割成数组参数:指定的字符, 如果...原创 2020-04-07 21:01:36 · 14411 阅读 · 1 评论 -
JS中常见的String方法
对于JS中的字符串(String)我们经常使用,今天总结了一下常见的String方法。1. length检测字符串的长度 let str = 'abcdef'; console.log(str.length);2. slice()截取指定位置的字符串参数1:开始截取的位置,下标参数2: 选填,若不填,则截取到最后。若传入要截止的下标,则截取从开始的下标到截止的下标中间的部...原创 2020-04-06 16:58:17 · 4061 阅读 · 0 评论 -
将上传的文件在本地预览
将上传的文件在文本预览var reader = new FileReader();let that = this;reader.readAsDataURL(file.file);reader.onload = function(e) { that.signFileUrlS = this.result; console.log(this);}https://blog.csdn....原创 2020-03-26 19:54:25 · 241 阅读 · 1 评论 -
将返回的流数据转换为url
// 将返回的流数据转换为urlgetObjectURL(file) { let url = null; if (window.createObjectURL != undefined) { // basic url = window.createObjectURL(file); } else if (window.webkitURL !=...原创 2020-03-24 11:20:34 · 3028 阅读 · 3 评论 -
使用a标签下载文件时成了预览,并非是下载
function downloadFile(){ var request = new XMLHttpRequest(); request.responseType = "blob"; request.open("GET", "https://baidu.com/a.map"); request.onload = function() { ...原创 2020-03-11 16:54:04 · 4996 阅读 · 1 评论 -
html中引入的js实现实时更新
html中引入的js实现实时更新<script src="./a.js?time=<%=new Date().getTime()%>"></script>原创 2020-03-09 10:32:16 · 2409 阅读 · 1 评论 -
change和input事件区别
change事件指的是当输入框内容发生改变时触发的事件,前提是失去了焦点,才会触发到change事件change事件可用于单选框,复选框,文件上传等情况时使用。当change事件当作文件上传时,可能会遇到连着上传相同文件时,第二次没有反应,或者上传一次文件会调好几次接口,都是由change事件导致的,解决方法链接如下:上传相同文件无反应针对于change事件上传文件调用多次接口问题...原创 2020-03-05 14:57:38 · 4104 阅读 · 0 评论 -
js+css实现进度条
其实实现进度条的方法最简单的就是先定义好这个标签的背景颜色这样容易区分,还要设置好高端,一开始宽度为0,随之宽度的增宽进度条也会随之变长。<div class="propess"></div>.propess{ backgroundColor: skyblue; height: 10px; width: 0;}如果想体验更好一些,让进度条有一个外边框...原创 2020-03-05 14:20:07 · 385 阅读 · 0 评论 -
ajax上传文件监听进度xhr.upload.onprogress方法
jQuery中的ajax上传方式$.ajax({ xhrFields: { withCredentials: true }, crossDomain: true == !(document.all), type: 'POST', // 请求方式 url: globleObj.domain + '/wjw/workPlan/uploadPdf', // 接...原创 2020-03-05 14:01:04 · 6978 阅读 · 0 评论 -
input type=“file“ change事件上传文件时相同文件只触发一次
一般我们在上传文件时会遇到这两种情况第一种:上传A+上传B第二种:上传A+上传A第一种时,因为文件不一样,可以上传成功,但第二种时因为二个文件相同会导致不会触发change事件。解决方法:第一种:上传完后清空input(type==file)值,图片这个在context里面的value$(thats).context.value = null;第二种:每次点击上传之前将这块...原创 2020-03-04 18:29:30 · 2317 阅读 · 1 评论 -
导出文件js
第一种function diseaseInfo(){ let iframe = document.createElement('iframe') iframe.style.display = 'none' iframe.src = '/yxcAdmin/disease/export/excel' iframe.onload = function () { document.bo...原创 2020-02-21 22:29:00 · 174 阅读 · 0 评论 -
js插件
日期插件: bootstrap-datetimepicker.min.js下拉框插件: bootstrap-multiselect.jshttps://developer.snapappointments.com/bootstrap-select/https://github.com/snapappointments/bootstrap-select表格插件: king-tabl...原创 2020-01-06 17:39:25 · 203 阅读 · 0 评论 -
js回车键事件
回车键支持document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; if(e && e.keyCode==13){ // enter 键 login(); }...原创 2020-01-02 11:09:09 · 472 阅读 · 0 评论 -
点击切换页面方法
1 使用a标签中的href属性<a href="./register.html"/>2 window.location.hrefwindow.location.href = "./register.html";3 window.location.href 拼接字符串var path = window.location.href;// var index = path.i...原创 2020-01-02 11:05:47 · 2316 阅读 · 0 评论 -
ajax交互
$.ajax({ xhrFields : { withCredentials : true //为true时执行跨域名请求。 }, crossDomain: true == !(document.all), //同域请求为false,跨域请求为true, 兼容ie9及以下,...原创 2019-12-23 10:47:10 · 283 阅读 · 0 评论 -
后台将图片以base64形式传给前台,前台展示
图片以base64形式在页面上展示出来在这里要说到Data URI scheme,它可以直接将一些小的数据直接嵌入到网页中,不需要再引入。支持格式如下data:, 文本数据data:text/plain, 文本数据data:text/html, HTML代码da...原创 2019-12-23 10:32:33 · 6844 阅读 · 0 评论 -
$.ajax中的processData参数
在使用jQuery的$.ajax()方法的时候参数processData默认为true(该方法为jQuery独有的)默认情况下会将发送的数据序列化以适应默认的内容类型application/x-www-form-urlencoded如果想发送不想转换的的信息的时候需要手动将其设置为false在遇到的是传输的是blob对象的时候就是不需要将传输的数据序列化,一般的还有类似DOM树等...原创 2019-12-16 16:45:59 · 2485 阅读 · 0 评论 -
JS使用base64格式上传文件
html页面<input type="file" id="fielinput" /><img id="txshow" style="width:100px;height:100px;"/><br/>解析之后的base64数据:<br/><p id="data"></p>js部分/*** * * FileRe...原创 2019-12-16 15:09:57 · 2011 阅读 · 0 评论