
JavaScript
1学习者1
不为失败找理由只为成功找方法
展开
-
前端兼容性问题
1、addEventListener()IE 8 及更早 IE 版本,Opera 7.0及其更早版本不支持 addEventListener() 和 removeEventListener() 方法。但是,对于这类浏览器版本可以使用 detachEvent() 方法来移除事件句柄:element.attachEvent(event, function);element.detachEvent(event, function);实例跨浏览器解决方法:var x = document.原创 2020-10-12 22:24:00 · 904 阅读 · 0 评论 -
使用router-view时组件之间的通信
1.子组件给父组件传值父组件: <router-view @getShopCode='getShopCode'></router-view>methods:{ getShopCode(value){ conso.log(value); } }子组件: methods:{ goShopList(value){ this.$emit('getShopCode',value) this.$router.原创 2020-09-15 18:31:29 · 1774 阅读 · 0 评论 -
ES6 Promise 并行执行和顺序执行
1.Promise.all 并行执行promisegetA和getB并行执行,然后输出结果。如果有一个错误,就抛出错误/** * 每一个promise都必须返回resolve结果才正确 * 每一个promise都不处理错误 */const getA = new Promise((resolve, reject) => { //模拟异步任务 setTimeout(function(){ resolve(2); }, 1000) }).then(resu原创 2020-09-15 00:14:09 · 1118 阅读 · 0 评论 -
vue在多方法执行完后再执行另一个方法(等待请求完数据再执行)async/await使用方法和Promise.all
vue在一个方法执行完后执行另一个方法用Promise.all来实现。Promise是ES6的新特性,用于处理异步操作逻辑,用过给Promise添加then和catch函数,处理成功和失败的情况ES7中新提出async搭配await,建议使用async搭配await。function fun1(){ return new Promise((resolve, reject) => { /* 你的逻辑代码 */ console.log("1");原创 2020-09-14 23:20:23 · 28688 阅读 · 2 评论 -
处理 JavaScript 异步操作的几种方法总结
引言js的异步操作,已经是一个老生常谈的话题,关于这个话题的文章随便google一下都可以看到一大堆。那么为什么我还要写这篇东西呢?在最近的工作中,为了编写一套相对比较复杂的插件,需要处理各种各样的异步操作。但是为了体积和兼容性,不打算引入任何的pollyfill,甚至连babel也不允许使用,这也意味着只能以es5的方式去处理。使用回调的方式对于解耦非常不利,于是找了别的方法去处理这个问题。...原创 2020-02-22 00:29:18 · 2892 阅读 · 0 评论 -
前端知识点总结
1、DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动。(通俗易懂的来讲讲DOM、两个节点之间可能存在哪些关系以及如何在节点之间任意移动)DOM: Document Object Module, 文档对象模型。节点的关系:父(parent)、子(child)和同胞(sibling)等节点关系;- 在节点树中,顶端节点被称为根(root)- 每个节点都有父节点、...原创 2020-02-19 16:33:31 · 470 阅读 · 0 评论 -
h5页面调用cmd命令并隐藏cmd弹窗
/***通过js调用cmd命令利用ffmpeg实现录屏或者录像功能***/var cmd = new ActiveXObject("WScript.Shell"); /* 命令参数说明 cmd.exe /c dir 是执行完dir命令后关闭命令窗口。 ...转载 2020-02-18 17:37:16 · 1208 阅读 · 0 评论 -
网页Request Headers请求头和Response Headers响应头
Request HeadersAccept:告诉服务器,客户机支持的数据类型Accept-Encoding:告诉服务器,客户机支持的数据压缩格式Cache-Control:缓存控制,服务器通过控制浏览器要不要缓存数据Connection:处理完这次请求,是断开连接还是保持连接Cookie:客户机通过这个可以向服务器带数据Host:访问的主机名Upgrade-I...转载 2020-02-03 01:05:43 · 2622 阅读 · 0 评论 -
javascript基本函数
如何使用jquery刷新当前页面下面介绍全页面刷新方法:有时候可能会用到window.location.reload()刷新当前页面.parent.location.reload()刷新父亲对象(用于框架)opener.location.reload()刷新父窗口对象(用于单开窗口)top.location.reload()刷新最顶端对象(用于多开窗口)下面再介绍一些jav...转载 2019-08-20 02:33:34 · 240 阅读 · 0 评论 -
Promise解决多个异步Ajax请求导致的代码嵌套问题(完美解决方案)
这篇文章主要介绍了用Promise解决多个异步Ajax请求导致的代码嵌套问题(完美解决方案),需要的朋友可以参考下问题前端小同学在做页面的时候,犯了个常见的错误:把多个Ajax请求顺序着写下来了,而后面的请求,对前面请求的返回结果,是有依赖的。如下面的代码所示:var someData;$.ajax({ url: '/prefix/entity1/action1', ...转载 2019-08-17 02:13:31 · 2412 阅读 · 0 评论 -
promise简单封装ajax 完美嵌套多个ajax请求
转载请注明出处并留个言哈,分享快乐~!request.js文件,注意网页头部script标签加载顺序function myAjax(json, callback) { var p = new Promise(function (resolve, reject) { $.ajax({ url: json.url, //请求的url地址...原创 2019-08-17 02:34:25 · 2009 阅读 · 0 评论 -
vue router-link 添加点击事件
在vue学习中遇到给router-link 标签添加事件@click 、@mouseover等无效的情况我想要做的是v-for遍历出来的选项卡,鼠标移上去出现删除标签,移除标签消失的效果原代码:<router-link v-for="(item, index) in pageMenuList" :to="{ path: item.listLink }" @mouseove...原创 2019-09-04 23:49:07 · 3289 阅读 · 0 评论 -
vue实现监听滚动条
// 组件挂载后添加监听事件mounted () { window.addEventListener('scroll', this.handleScroll)},methods: { // 我这里监听的是侧边的滚动条 handleScroll: () => { // 滚动时,距离顶部的距离 var scrollTop = document.document...原创 2019-09-06 07:36:07 · 2612 阅读 · 0 评论 -
Element组件 Drawer 抽屉的关闭问题
场景我使用的Drawer 抽屉是从上往下开的效果,点击搜索图标,从上往下开没问题,输入关键字搜索,搜索出来的列表放置于搜索栏下面,所以使用了一个子组件问题就来了搜出来的列表item,点击任意一条,地址栏的路由是变化了,但是这个Drawer 抽屉不会主动关闭,解决思路把父组件关于Drawer的实例,传到子组件去,代码如下再在子组件里通过pros接收 ,代码如下...原创 2019-09-07 06:09:23 · 27015 阅读 · 3 评论 -
宝塔nginx运行vue项目刷新404问题解决
我的项目是webpack构建的,因为我做一切开发都想要希望要从一个标准的构建去编码所以,我的项目在node下运行,开发,调试是没有一点问题的,npm run build也是完全OK的,vue路由是history模式把build出来的dist文件夹部署到生产环境,使用nginx的时候,问题就来了我的问题描述:如果从首页打开,点击任何页面都能够正常访问,而当你处在某个页面(非首页)的时...原创 2019-09-08 01:48:16 · 7458 阅读 · 1 评论 -
HTML5 Web 存储(localStorage和sessionStorage)
localStorage生命周期是永久,除非主动清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。 // 1、保存数据到本地 // 第一个参数是保存的变量名,第二个是赋给变量的值 localStorage.setItem('Author', 'local')...转载 2019-08-19 17:54:07 · 224 阅读 · 0 评论 -
javascript中对一个对象数组按照对象某个属性进行排序
在javascript中,对象和数组是两种不同的类型,这和php中的数组概念不同。在javascript中,也有一些精妙的算法,用来对一些对象进行排序。我在面试迅雷的时候,也拿到一道题,当时做题的时候考虑到时间,没有去仔细研究,回来后再读了一些方法,就知道真正的考点在哪里了。我们现在有一组“学生”对象,包含“名字,年龄”等属性,现在要求一个算法,把这些对象放在一个数组里,可以实现按照年龄对这些...转载 2019-08-19 02:13:16 · 336 阅读 · 0 评论 -
JavaScript之继承模式,命名空间,对象枚举
继承发展史1-传统形式 → 原型链过多的继承了没用的属性(很好理解,不用代码演示了)2-借用构造函数不能继承借用构造函数的原型(很好理解,不用代码演示了) 每次构造函数都要夺走一个函数(很好理解,不用代码演示了)3-共享原型不能随便改动自己的原型Father.prototype.lastName = 'deng';function Father() {}func...原创 2019-07-26 22:24:29 · 223 阅读 · 0 评论 -
Bootstrap FileInput(文件上传)中文API整理
下载地址、API和DOM地址(英语好的小伙伴可以看看)下载地址:https://github.com/kartik-v/bootstrap-fileinputAPI文档 :http://plugins.krajee.com/file-inputD E M O:http://plugins.krajee.com/file-input/demo做项目用到bootstrap fileinpu...转载 2019-07-05 11:24:38 · 12100 阅读 · 0 评论 -
JavaScript 所有数据类型
JavaScript 所有数据类型在 JavaScript 中有 5 种不同的数据类型:string number boolean object function3 种对象类型:Object Date Array2 个不包含任何值的数据类型:null undefined可以使用 typeof 操作符来查看 JavaScript 变量的数据类型,如果对象是 Jav...原创 2019-07-05 14:29:30 · 245 阅读 · 0 评论 -
JavaScript 严格模式(use strict)
使用 "use strict" 指令"use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。它不是一条语句,但是是一个字面量表达式,在 JavaScript 旧版本中会被忽略。"use strict" 的目的是指定代码在严格条件下执行。严格模式下你不能使用未声明的变量。支持严格模式的浏览器:Internet Explorer 1...原创 2019-07-05 14:56:21 · 253 阅读 · 0 评论 -
JavaScript this 关键字
面向对象语言中 this 表示当前对象的一个引用。但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。在方法中,this 表示该方法所属的对象。 如果单独使用,this 表示全局对象。 在函数中,this 表示全局对象。 在函数中,在严格模式下,this 是未定义的(undefined)。 在事件中,this 表示接收事件的元素。 类似 cal...原创 2019-07-05 15:23:15 · 154 阅读 · 0 评论 -
JavaScript 操作 HTML DOM (文档对象模型) 相关知识点
HTML DOM 树通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。JavaScript 能够改变页面中的所有 HTML 元素 JavaScript 能够改变页面中的所有 HTML 属性 JavaScript 能够改变页面中的所有 CSS 样式 JavaScript 能够对页面中的所有事件做出反应查找 HTML 元素通常,通...原创 2019-07-05 18:29:31 · 313 阅读 · 0 评论 -
JS运行三部曲
语法分析 预编译 解释执行 下面两句话能解决问题,但解决不了深入的问题,其实原理是 预编译产生的两个现象(规律)。函数声明整体提升 变量 声明提升预编译前奏imply global 暗示全局变量:即任何变量,如果变量未经声明就赋值,此变量就为全局对象所有(全局对象是window)。eg: a = 123; eg: var a = b = 123...原创 2019-07-16 00:02:11 · 169 阅读 · 0 评论 -
JavaScript中的回调函数(callback)
前言callback,大家都知道是回调函数的意思。如果让你举些callback的例子,我相信你可以举出一堆。但callback的概念你知道吗?你自己在实际应用中能不能合理利用回调实现功能? 我们在平时的学习中容易犯不去深究的病,功能实现了也就不再去追其原由,对一些概念模模糊糊。如果对callback没有一个清楚的理解,估计你在学习Node.js后会崩溃,因为callback是Node.js三大...转载 2019-07-23 17:10:07 · 1130 阅读 · 0 评论 -
原型 原型链 call / apply
原型定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承原型的属性和方法。原型也是对象。 利用原型特点和概念,可以提取共有属性。 对象如何查看原型 ——> 隐式属性 __proto__ 对象如何查看对象的构造函数 —— > constructor用下面的代码来展现下什么是原型//Person.pro...原创 2019-07-23 17:23:58 · 386 阅读 · 0 评论 -
立即执行函数
定义:此类函数没有声明,在一次执行过后即释放。适合做初始化工作。//立即执行函数格式,此类函数执行完即销毁,除了这点,和其它函数一样(function (){}()); W3C建议使用这种(function (){})();//只有表达式才能被执行符号执行function test() { ...}() //这样会报低级语法错误test(); //这样才可...原创 2019-07-18 23:03:07 · 325 阅读 · 0 评论 -
作用域及上下文理解
书本中的解释[[scope]]:每个javascript函数都是一个对象,对象中有些属性我们可以访问,但有些不可以,这些属性仅供javascript引擎存取,[[scope]]就是其中一个。 [[scope]]:指的就是我们所说的作用域,其中存储了运行期上下文的集合。 作用域链:[[scope]]中所存储的执行期上下文对象的集合,这个集合呈链式链接,我们把这种链式叫做作用域链。 运行期...原创 2019-07-16 23:02:18 · 522 阅读 · 0 评论 -
JavaScript 闭包
闭包概念:当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链不释放,造成内存泄漏。什么时候才会触发闭包呢?当两个函数互相嵌套,把里面的函数被保存到了外部(全局),里面的函数在外面执行的时候,一定能够调用里面的变量。看下面这个例子:a函数里面包含b函数,执行a的时候,返回了b函数,赋值给了外部变量demo,通过作用域及上下文的学习可理解到,因为a和b是引用...原创 2019-07-20 10:22:31 · 185 阅读 · 0 评论 -
JavaScript对象
对象的创建方法// 1 var obj = {} plainObject 对象字面量 / 对象直接量//2.构造函数// 1 - 系统自带的构造函数 new Object() 用法:var obj = new Object();// 2 - 自定义 function Person() {}; var p1 = new Person();...原创 2019-07-21 17:40:21 · 162 阅读 · 0 评论 -
构造函数内部原理 包装类
构造函数内部原理在函数体最前面隐式得加上this = {} 执行 this.xxx = xxx; 隐式的返回this包装类定义一个原始数字或字符串,在JS里面,其实有两种方法var num = 123; var str = 'abcd'; var num = new number(123); var str = new string('abcd');但是这两种方法所定...原创 2019-07-22 16:37:13 · 213 阅读 · 0 评论 -
JS基础知识点总结
NaN 与任何值相比较 都是false (包括它自己 如NaN == NaN =>false),可以理解为它连自己的不认识 parseInt("123abc") 计算机是从头到尾读字符串,如果不是数字就截断,直接返回 parseFloat同理 num = 123.1456789 num.toFixed(3) 科学计数 四舍五入 3指的是保留三位小数点 j...原创 2019-07-04 23:15:51 · 444 阅读 · 0 评论