![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
前端-小明
这个作者很懒,什么都没留下…
展开
-
拼接两个数组的方法总结
一 普通方式var arr=[2,3,5,7];var arr1=[1,2,3,4]arr=arr.concat(arr1);console.log(arr);//(8) [2, 3, 5, 7, 1, 2, 3, 4]二 利用原型var arr=[2,3,5,7];var arr1=[1,2,3,4]arr=[].concat.apply(arr,arr1);console.log(arr);三 利用pushpush 返回的是新数组的长度var arr=[2,3,5,7];v原创 2021-02-25 09:25:21 · 5157 阅读 · 0 评论 -
将伪数组转换成真正的数组方法总结
伪数组:无法调用数组的方法,但是有length属性,又可以索引获取内部项的数据结构。比如:arguments、getElementsByTagName等一系列dom获取的NodeList对象转换一let arr = [].slice.call(pagis)二let arr = Array.prototype.slice.call(pagis);三var arr1 = [], len1 = pagis.length; for (var i = 0; i < len1; i+原创 2021-02-15 09:23:44 · 624 阅读 · 0 评论 -
js中类型判断总结
1.typeof操作符返回一个字符串,表示未经计算的操作数的类型,用于除null、对象和数组,正则之外的通用类型的判断方法Object.prototype.toString原生原型扩展函数,用来精确的区分数据类型,万能instanceof该运算符用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置,用于检测引用类型的判断方法,针对Array和RegExp DOM元素进行判断。constructor注不能用于undefined 与 null 因为它们没有构造函数也可原创 2021-02-09 14:29:31 · 253 阅读 · 0 评论 -
Ajax传输数据加密
^常用于数据加密常常使用日期与数据进行异或 c= a ^ b 可以推出 a = b ^ c. (常用于加密) 异或的运算方法是一个二进制运算: 两者相等为0,不等为1.使用进制形式 防止服务器不是utf8无法解析中文前端代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="原创 2021-01-11 20:36:41 · 2108 阅读 · 0 评论 -
Ajax中send可发送的数据类型
1.ArrayBuffer类型1.1 ArrayBuffer类型放在栈中而普通数组在堆中ArrayBuffer 前端的一个通用的二进制缓冲区,类似数组1.2 发送arrayBuffer数据类型/在后台获取2.二进制大数据如图片原创 2021-01-11 08:50:06 · 598 阅读 · 0 评论 -
ES5 原始方法判断数据类型
通过对象结构的方式结构出toString方法任何对象都有toString方法下面展示一些 内联代码片。 //结构出toString方法 var {toString}={}; console.log(toString.call(5)==="[object Number]"); console.log(toString.call({})==="[object Object]"); console.log(toString.call([])==="[obje原创 2020-12-17 21:43:30 · 266 阅读 · 2 评论 -
js碎片容器的理解和使用
## 1.我们要明白当js操作dom时发生了什么?每次对dom的操作都会触发"重排"(重新渲染界面,发生重绘或回流),这严重影响到能耗,一般通常采取的做法是尽可能的减少 dom操作来减少"重排"2、什么是文档碎片?document.createDocumentFragment() 一个容器,用于暂时存放创建的dom元素3、文档碎片有什么用?将需要添加的大量元素 先添加到文档碎片中,再将文档碎片添加到需要插入的位置,大大 减少dom操作,提高性能(IE和火狐比较明显)如下代码每次循环都要操原创 2020-12-12 17:22:14 · 361 阅读 · 0 评论 -
js中耦合与解耦问题总结
一.概念一、耦合1、耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。2、在软件工程中,对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高,维护成本越高,因此对象的设计应使类和构件之间的耦合最小。二、解耦1、解耦,就是解除耦合关系。2、在软件工程中,降低耦合度即可以理解为解耦,模块间有依赖关系必然存在耦合,理论上的绝对零耦合是做不到的,但可以通过一些现有的方法将耦合度降至最低。4、观察者模式:观察者模式存在的意义就是「解耦」,它使观察者和被观察者的逻辑原创 2020-12-12 10:26:41 · 3056 阅读 · 0 评论 -
常用数组去重方法总结
1.双重for循环 与splice数组的引用不会变化 var arr=[2,3,1,2,3,5,2,4,1,2,3,5,2,1,5,7,8]; // 数组的引用不发生改变 for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ // if(arr[i]===arr[j]) arr.splice(j,1);//删除元素后长度变化原创 2020-12-08 20:56:42 · 92 阅读 · 0 评论 -
inline-block元素间默认空白间隙问题
有时候为了布局需要,我们需要把一些块状元素的display属性设置为inline-block,让它们在一行排列,如下代码:<style> .parent{ width: 200px; height: 60px; border: 1px solid pink; } .parent div{ display: inline-block; box-sizing: border-box; width: 30原创 2020-09-10 13:00:11 · 247 阅读 · 0 评论 -
ElementUI中Cascader 级联选择器高度占满浏览器的问题
今天在做项目练习时 发现当数据较多时 Cascader 级联选择器显示不全 且与浏览器等高查阅文档所知在全局样式文件global.css中添加高度配置即可解决:下面展示一些 内联代码片。 .el-cascader-panel{ height: 200px; }...原创 2020-09-03 16:21:56 · 586 阅读 · 2 评论 -
移动端click事件默认300ms延时解决方案
问题描述移动端 click 事件会有 300ms 的延时,原因是移动端屏幕双击会缩放(double tap to zoom) 页面。3种解决方案 1. 禁用缩放。 浏览器禁用默认的双击缩放行为并且去掉300ms 的点击延迟。 <meta name="viewport" content="user-scalable=no"> 2.利用touch事件自己封装这个事件解决300ms 延迟。原理当我们手指触摸屏幕,记录当前触摸时间当我们手指离开屏幕, 用离开的时间减去触摸的时间原创 2020-07-23 07:59:32 · 497 阅读 · 0 评论 -
类中共有的属性和方法this指向问题总结
1.constructor中的this指向的是new出来的实例对象创建一个公共类 Star 将constructor内的this 赋值给全局变量that 利用全等号判断that与 ldh 实例 是否相等下面展示一些 内联代码片。 <script> var that; class Star { constructor(uname, age) { that = this;原创 2020-07-17 08:29:40 · 295 阅读 · 0 评论