
JavaScript
!!!!!
这个作者很懒,什么都没留下…
展开
-
原生js实现excel下载
<!DOCTYPE html><html lang="en"><head> <p style="font-size: 20px;color: red;">使用table标签方式将json导出xls文件</p> <button onclick='tableToExcel()'>导出</button></head><body> <script> .原创 2021-02-05 14:08:05 · 617 阅读 · 1 评论 -
js 数组、对象的深拷贝
1.为什么有深拷贝在js中数据被分为了基础类型和引用类型;基础类型:String、Boolean、Number,Undefined、Null;引用类型:对象、数组、函数;基本类型和引用类型由于两者在内存中存储的方式不同,造成两者访问的方式也不同。其中,基本类型存储在内存的栈中,是按值访问;引用类型存储在内存的堆中,是按引用访问例:let num1 = 10;let num2 = 20;let arr1 = [1,2,3,4,5];let arr2 = arr1;由于arr1与arr2原创 2021-01-06 16:08:05 · 445 阅读 · 0 评论 -
在数组中发现最大值和最小值
使用扩展运算符let arr = [12,4,2,15,1,90,35];let max = Math.max(...arr);let min = Math.min(...arr);console.log(max,'max',min,"min") // 90 "max" 1 "min"原创 2021-01-06 14:21:45 · 168 阅读 · 0 评论 -
原生方式实现vue数据的双向绑定
1.创建组件// html // 1.创建组件内容 <template id='userCardTemplate'> <style type="text/css"> .container{ background: #eee; border-radius: 10px; width: 500px; padding: 20px } </style> <div class="container">原创 2021-03-01 18:03:49 · 385 阅读 · 0 评论 -
计算数组中每个元素出现的个数
1.方法一let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];let namesNum = names.reduce((pre,cur)=>{ if(cur in pre){ pre[cur] ++ ; }else { pre[cur] = 1; } return pre;},{});console.log(n...原创 2020-04-29 16:53:38 · 1818 阅读 · 0 评论 -
localStorage,sessionStorage和cookie的区别
共同点都是保存在浏览器且都是同源的(url协议,端口,主机名是相同的)不同点cookie数据始终在同源的htttp请求中携带(即使不需要)即cookie在浏览器和服务器间来回传递,而sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存,cookie数据还有路径的概念,可以限制cookie只属于某个路径下;存储大小,cookie的存储大约为4k,而...原创 2018-12-18 15:39:18 · 126 阅读 · 0 评论 -
获取地址栏中传入的参数
function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) re...原创 2018-09-20 13:56:13 · 453 阅读 · 0 评论 -
JS中获取字符串中出现次数最多的字母,常用方法
(1)数组+对象 <script > var str = 'aafcbad'; var obj = {}; var arr = []; var letter; for(var i = 0,len = str.length;i<len;i++){ letter = str[i]; if(!...原创 2018-07-07 14:28:15 · 8216 阅读 · 2 评论 -
JavaScript事件捕获与事件冒泡
冒泡机制气泡从水底开始往上升,由深到浅,升到最上面。在上升的过程中,气泡会经过不同深度层次的水。相对应地:这个气泡就相当于我们这里的事件,而水则相当于我们的整个dom树;事件从dom 树的底层,层层往上传递,直至传递到dom的根节点。当子元素与父元素有相同的事件时,当子元素被触发时父元素也会被触发冒泡机制 在不同浏览器中,冒泡的程度不同: IE 6.0: div -> body...原创 2018-07-05 21:44:17 · 6290 阅读 · 1 评论 -
JavaScript中的变量作用域
在es5中变量作用域分为两种:全局变量,局部变量; 局部变量:写在函数体内部,其中函数中所传递的参数也是局部变量(小括号中的),仅在定义的部分能够使用; 全局变量:写在函数体外部的变量,其中在函数中使用但未用var声明的变量也是全局变量,可以在全局中任何部分使用;下面是关于变量作用域的小案例:全局变量(1)直接声明var a = 10;console.log(a) ...原创 2018-07-05 15:02:57 · 1230 阅读 · 0 评论 -
JavaScript之数组常用方法
数组是值的有序集合。每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。通常,数组的实现是经过优化的,用数字索引来访问数组元素一般比访问常规的对象属性要快很多。实际上,数组是对象的特殊形式,索引可理解为对象的属性,使用[]访问数组时,索引首先转换为字符串,然后作为属性使用。(1)数组元素的添加和删除元素的添加有3种方法: 直接量、push()、unshift(...原创 2018-07-04 09:25:03 · 191 阅读 · 0 评论 -
JavaScript之数组去重
1.概述在平时的做题和有些面试过程中会经常碰到一些数组去重的问题,这是一个很重要的东西。以下是我总结的一些关于数组去重的方法;2.方法2.1 方法一(排序后进行去重)我们碰到的数组大部分都是乱序的,如果这个数组是有序排列的话就可以直接判断相邻的两个元素是否相等即可;我们所要做的主要内容就是将数组排序,数组中的sort()方法可将数组排序,默认情况下是按照ASCII进行升序。排序后直接判断即可,代码...原创 2018-06-27 19:49:27 · 251 阅读 · 0 评论