![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
古木2019
这个作者很懒,什么都没留下…
展开
-
Vue.$set的用法
官方资料:Vue.set( target, propertyName/index, value )参数:{Object | Array} target{string | number} propertyName/index{any} value返回值:设置的值。用法:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如 this.myObject.newProperty = 'h原创 2021-07-06 10:10:14 · 3561 阅读 · 0 评论 -
video 属性和事件用法大全
1、video 属性<!-- video 不支持 IE8及以下版本浏览器,支持三种视频格式:MP4,WebM 和 Ogg --> <video src="test.mp4" controls width="400" height="300"></video> <!-- 禁止下载 --> <video src="test.mp4" controls controlslist="nodownload" width="400" height原创 2020-11-26 20:21:18 · 431 阅读 · 0 评论 -
浅谈Vue项目优化心得
1、打包优化提取组件的CSS到单独到文件 屏蔽sourceMap 开启gzip压缩 公共库使用cdn外链 打包vender时不打包vue、vuex、vue-router、axios等,换用国内的 bootcdn、unpkg 直接引入到根目录的 index.html 中。并把上述文件配置在externals中。 vue.config.jsconst Gzip =...原创 2019-11-06 18:57:16 · 214 阅读 · 0 评论 -
Cookies、LocalStorage、sesstionStorage
1、Cookies:浏览器均支持,容量为4KB2、UserData:仅IE支持,容量为64KB3、 LocalStorage:HTML5,容量为5M4、 SesstionStorage:HTML5,容量为5MCookie特点1、cookie的大小受限制,cookie大小被限制在4KB,不能接受像大文件或邮件那样的大数据。2、cookie要在服务器和浏览器之间来回传...原创 2020-03-29 11:56:49 · 216 阅读 · 0 评论 -
浅谈 防抖和节流
防抖和节流:是优化高频率执行代码的手段。目的:节约浏览器、服务器的性能。主要方式:减少函数执行的次数。函数防抖(debounce)函数防抖:事件被触发,等待n秒后再执行回调,如果在这n秒内又被触发,则重新计数。防抖的目的:目的是为了让一定时间段的连续的函数调用,只让其执行一次。我们来举一个上电梯的例子: 电梯总是在进出人(监听事件)之后的5秒关门(执行方法), 如果5秒...原创 2020-03-28 19:40:58 · 139 阅读 · 0 评论 -
浅谈 axios ajax fetch
原生ajax //创建异步对象 var xhr = new XMLHttpRequest(); //设置请求基本信息,并加上请求头 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xhr.open('post', 'test.php' ); /...原创 2020-03-26 18:57:24 · 117 阅读 · 0 评论 -
js数组中随机取值
数组中随机取值 let aa=[1,2,3,4,5,6,7,8]; let result= Math.floor(Math.random() * aa.length); console.log(result)1到100随机数获取 let result=Math.floor((Math.random()*100)+1) console.log(re...原创 2020-03-25 12:22:57 · 4402 阅读 · 0 评论 -
JS中0.1+0.2!=0.3
控制台打印测试:console.log(0.1+0.2);//0.30000000000000004原因1、存储原理在计算机中数字无论是定点数还是浮点数都是以多位二进制的方式进行存储的。在JS中数字采用的IEEE 754的双精度标准进行存储(存储一个数值所使用的二进制位数比较多,精度更准确)2、示例在定点数中,如果我们以8位二进制来存储数字。对于整数来说,十进制的35...原创 2020-03-25 10:56:48 · 248 阅读 · 0 评论 -
Javascript中0除以0得到NaN,1除以0得到infinity(无穷尽)
1、任何数值除以0都会导致错误而终止程序执行。但是在 JavaScript 中,会返回出特殊的值,因此不会影响程序的执行。2、比0大的数除以0,则会得到无穷大,所以 js 用 Infinity 来显示出来。...原创 2020-03-25 10:09:55 · 3850 阅读 · 0 评论 -
three.js简介 —— 3D框架
随着HTML5的普及,网页的表现能力越来越强大,浏览器提供了WebGL接口,可以通过调用对应API进行3D图形的绘制,Three.js在这些基础接口之上又做了一层封装。原文链接特点Three.js特点:掩盖了3D渲染细节 面向对象 功能丰富 速度快 支持交互 内置文件支持 拓展性强 同时支持HTML5、2D、Canvas动画示例threejs动画简介...原创 2020-03-23 22:20:07 · 941 阅读 · 0 评论 -
Canvas 详解
HTML 5 Canvas 参考手册<canvas>标签用于绘制图像(通过脚本,通常是 JavaScript)。不过,<canvas>元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。Internet Explorer 9、Firefox2.0、Opera9.0、Chrome4.0 以及 Safari3.1 支持 <c...原创 2020-03-23 21:49:52 · 803 阅读 · 0 评论 -
JS事件循环机制(event loop)之宏任务/微任务
原文地址:Tasks, microtasks, queues and schedules视频讲解地址:https://www.bilibili.com/video/av83625811?from=search&seid=6644038259868014366鉴于上篇文章有提到过 微任务与宏任务,所以,在此做个细致补充: 话不多说,直接进入正文:[1] 本文主要根据网上资源总结...转载 2020-03-22 22:20:47 · 158 阅读 · 0 评论 -
冒泡排序
冒泡排序的思想:让数组当前项跟后一项进行比较,如果当前项比后一项大,则两个交换位置(让大的靠后),即可。 let arr = [1, 22, 33, 4, 6, 25] function sort(arr) { for (const a in arr) { // console.log("外面a的值", arr); for (c...原创 2020-03-22 21:15:20 · 186 阅读 · 0 评论 -
JS快速排序
let arr = [1, 22, 33, 4, 6, 25] function quickSort(arr) { if (arr.length <= 1) { //当数组只有一个的时候,中断递归,把数组返回。 // console.log("返回数组", arr) return arr; } ...原创 2020-03-22 20:16:56 · 68 阅读 · 0 评论 -
es6怎么将对象转换为指定数组格式
var aa=Object.values(obj);//[1, 2, 3] console.log(aa); var arr = Object.entries(obj); console.log(arr);//[Array(2), Array(2), Array(2)]Object.values 只打印键Object.entries 可...原创 2020-03-22 12:24:46 · 2465 阅读 · 2 评论 -
js作用域链
简单的理解什么是作用域链一级一级向上查询所以父级对象的变量的这个过程就是作用域链。下面我们来详细了解一下:变量作用域在js中,变量分为全局变量和局部变量。全局变量的作用域是全局的,在任意地方都是被定义的。而局部变量可以是函数的参数、函数内定义以及{}内(ES6语法)定义,如果局部变量与全局变量重名的话,会优先取局部变量。下面我们来看看例子:引用全局变量例子:var n...原创 2020-03-22 10:42:08 · 125 阅读 · 0 评论 -
浅谈 JavaScript 作用域
一、什么是作用域作用是对代码的一个读写操作,域是js能够实现的一个范围。在script标签中var的时候,其实是在最大的window上加了一个属性,如果在script中没有用var声明,而是直接赋值,那就是自动在window上加一个属性,这是系统在找不到声明的时候,自动加的。console.log(a); //undefinedvar a = 1;console.log(a)...原创 2020-03-22 10:38:30 · 115 阅读 · 0 评论 -
浅谈 every() 、some()
every(),用于判断数组中的每一项元素是否都满足条件,返回一个布尔值 let arr = [1, 2, 3, 4]; let isEvery=arr.every(function(item,index,array){ return item>3; }) console.log(isEver...原创 2020-03-21 23:54:39 · 246 阅读 · 2 评论 -
浅谈 forEach()
用于遍历数组,无返回值 let arr = [1, 2, 3, 4]; arr.forEach(function(item,index,array){ array[index]=item*2; }) console.log(arr);//[2, 4, 6, 8]可以看到,forEach()可以传入一个匿名函数作为参数,...原创 2020-03-21 23:51:13 · 127 阅读 · 0 评论 -
浅谈 js reduce()
reduce() 为数组中的每一个元素依次 执行回调函数,不包括数组中被删除的元素或者未赋值的元素,接受四个参数:初始值(或者上次回调函数的返回值),当前元素值,当前索引,调用reduce的数组.语法arr.reduce(function(prev,cur,index,arr){...}, init);arr 表示原数组;prev 表示上一次调用回调时的返回值,或者初始值 init...原创 2020-03-21 23:39:01 · 112 阅读 · 0 评论 -
浅谈JS中filter()
filter用于对数组进行过滤。它创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。注意:filter()不会对空数组进行检测、不会改变原始数组 let num=[1,2,3,4,5,6,7,8]; let num2=num.filter(num=>{ return num>5; }) ...原创 2020-03-21 22:43:37 · 273 阅读 · 0 评论 -
浅谈JS中map()函数的使用
一、概念map()方法定义在JavaScript的Array中,它返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。注意:map()不会对空数组进行检测 map()不会改变原始数组实例 let a=[1,2,3,4]; let array=a.map((item,index) =>{ if(item==2){ ...原创 2020-03-21 22:27:34 · 1746 阅读 · 0 评论 -
浅谈 Promise
promise是什么?1、主要用于异步计算2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果3、可以在对象之间传递和操作promise,帮助我们处理队列简单的说:解决回调地狱问题。promisepromise是一个对象,对象和函数的区别就是对象可以保存状态,函数不可以(闭包除外) 并未剥夺函数return的能力,因此无需层层传递callback,进行回调获取数据...原创 2020-03-21 22:12:32 · 91 阅读 · 0 评论 -
自执行函数
自执行函数立即调用的函数表达式。自执行函数表达式:1. 正儿八经的自执行函数// 方式一 (function fun4(){ console.log("fun4"); }()); // "fun4"分析:因为在JavaScript语言中,()里面不能包含语句(只能是表达式),所以解析器在解析到function关键字的时候,会把它们当作funct...原创 2020-03-21 19:03:13 · 928 阅读 · 0 评论 -
浅谈什么是闭包
什么是闭包:如果一个函数用到了它作用域外面的变量,那么这个变量和这个函数之间的环境就叫闭包。 var a=5; function bb(){ console.log(a); } bb();...原创 2020-03-20 19:01:46 · 107 阅读 · 0 评论 -
浅谈深拷贝和浅拷贝的区别
举例:假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,如果B没变,那就是深拷贝。阐述一下栈堆,基本数据类型与引用数据类型,因为这些概念能更好的让你理解深拷贝与浅拷贝。一.浅拷贝let a=[0,1,2,3,4], b=a;console.log(a===b); //truea[0]=1;console.log(a,b); //1,...原创 2020-03-20 18:00:33 · 137 阅读 · 0 评论 -
js的原型和原型链
构造函数创建对象:function Person() {}var person = new Person();person.name = 'hubl';console.log(person.name) // hublPerson 就是一个构造函数,我们使用 new 创建了一个实例对象 personprototype每个函数都有一个 prototype(原型) 属性每一...原创 2020-03-20 16:46:24 · 119 阅读 · 0 评论 -
js 获取北京时间
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");xmlhttp.open("GET", "http://bjtime.cn", false);xmlhttp.setRequestHeader("If-Modified-Since", "bjtime");xmlhttp.send();var dateStr = xmlhttp.g...原创 2019-08-27 17:28:03 · 1951 阅读 · 0 评论