
JavaScript
文章平均质量分 59
Alisane
这个作者很懒,什么都没留下…
展开
-
vue实现动态等分刻度尺并显示报错点
首先描述一下业务逻辑:要求在一段长度不固定的电缆上面显示故障点(电缆最长10000米)思路:判断电缆长度的位数,根据电缆位数去计算刻度尺的坐标。第一种:刻度间的距离是10的整数倍splitCable(num) {// num表示电缆长度 let i = parseInt(num); let l = 0; let a = [0,1,2,3,4,5,6,7,8,9,10] while(i >= 1){ i=i/10; l++; if(l==1){..原创 2020-10-30 15:47:53 · 1126 阅读 · 0 评论 -
数字正则表达式
验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][0-9]*$验证非零的负整数:^\-[1-9][0-9]*$验证非负整数(正整数 + 0) ^\d...转载 2020-10-29 13:29:14 · 4477 阅读 · 0 评论 -
js常用方法积累
1.url地址获取参数 2.toast提示 3.倒计时60s 4. 手机号码验证 5.时间格式转化1.url地址取参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); ...原创 2020-08-25 17:02:16 · 149 阅读 · 0 评论 -
js字符串中间部分字符替换
身份证号或者手机号等等字符串想实现替换中间几位字符串 function replacepos(text,start,stop,replacetext){ let mystr = text.substr(0,start-1)+replacetext+text.substr(stop+1); return mystr; }, replacepos('测试文字csdn', 2, 4, "**") // 测试**csdn...原创 2020-07-06 11:03:57 · 2976 阅读 · 0 评论 -
es6-Promise知识梳理
Promise是异步编程的一种解决方案,比传统的解决方案-回调函数和事件-更合理更强大Promise是一个对象,从它可以获取到异步操作的消息,它有如下两个特点(1)对象的状态不受外界的影响。有三种状态1.pending进行中2.fulfilled已成功3.rejected已失败(2)对象的状态一旦改变就不会再变。这就是比事件好的地方,事件的特点就是一旦你错过了他,再去监听,是得不到...原创 2019-07-30 14:59:14 · 139 阅读 · 0 评论 -
es6-Iterator和for...of循环-知识梳理
Iterator是一种机制,它是一种接口,为各种的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作。当使用for...of循环遍历某种数据结构时,该循环会自动寻找Iterator接口。原生具备Iterator的接口Array Map Set String TypedArray 函数的arguments对象 NodeList对象对于普通的对...原创 2019-07-30 17:23:55 · 175 阅读 · 0 评论 -
es6-Generator函数知识梳理
Generator(生成器)函数是es6提供的一种异步编程解决方案,Generator函数是一个状态机,封装了多个内部状态,执行Generator函数会返回一个遍历器对象。Generator函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历Generator函数内部的每一个状态。Generator函数体内部使用yield表达式,定义不同的状态;调用Generator函数...原创 2019-07-31 11:43:20 · 131 阅读 · 0 评论 -
juqery实现表单上传文件
<p> <span class="file-mg">*</span>附件:<input id="first-but" name="0" type="button" class="input-but" value="申请表上传" ><span>【点击下载】</span><span c...原创 2019-08-26 09:59:08 · 215 阅读 · 0 评论 -
时间戳与日期格式转换
// 为了兼容,日期不要用‘,’or‘-’分割new Date("2019/09/04 02:00:00")new Date("2019-09-04 02:00:00".replace(/-/g, '/'))new Date(时间戳)new Date()1.时间戳格式转换 // date是时间戳 // 时间戳转换为日期格式 changeTim...原创 2019-09-04 14:41:45 · 1082 阅读 · 0 评论 -
ajax请求中新打开窗口-async: false
$.ajax({ url: "", type: "POST", data: param, async: false,//同步请求,为了在回调函数中打开新窗口 succ...原创 2019-09-04 16:19:10 · 149 阅读 · 0 评论 -
客户端中的h5页面给客户端传参去调起第三方app(安卓与ios)
以下代码是给客户端传参的方式,是客户端定义的: if(isAndroid == true){// 安卓 var openName = urlStr[0]+"&"+data2.data.token; if (window.eduapp.isInstalled(urlStr[0])=="isInstalled"){// 安装 window...原创 2019-09-09 16:19:29 · 730 阅读 · 0 评论 -
CommonJS基础知识
1.概述Node应用由模块组成,采用CommonJS模块组成。每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量,函数,类,都是私有的,对其他文件不可见。CommonJS模块的特点如下:1).所有代码都运行在模块作用域,不会污染全局作用域2).模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。想要模块再次运行,...原创 2019-09-10 16:23:03 · 197 阅读 · 0 评论 -
ios键盘唤起,键盘收起以后页面不归位问题解决
var u = navigator.userAgent; var flag; var myFunction; var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); if (isIOS) { document.body.addEventListener('focusin', func...原创 2019-09-19 10:03:43 · 1384 阅读 · 1 评论 -
h5实现上下滑动切页
安卓系统下正常使用,ios系统下无法滑动切页,那位大神可以找到问题,多谢大佬<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-sc...原创 2019-09-25 11:33:48 · 4890 阅读 · 0 评论 -
JavaScript异常类型
JavaScript异常类型1.SyntaxError:解析代码时发生语法错误; 2.ReferenceError:引用一个不存在的变量时发生错误; || 将一个值分配给无法分配的对象,比如对函数的运行结果或者this赋值; 3.RangeError:当一个值超出有效 范围时发生的错。(数组长度为负数 || Number对象的方法参数超出范围 || 函数堆栈超过最大值); 4.TypeE...原创 2019-07-02 11:13:47 · 873 阅读 · 0 评论 -
JavaScript中几个有关与数组的小练习
1.对数组排序,由小到大,使用了冒泡排序function sortArr(arr) { arr=arr||[]; if(arr.length==0) return "It's an empty array"; for(var i=0;i<arr.length;i++){//控制趟数 var isSort=true; for(var...原创 2018-08-15 17:27:44 · 167 阅读 · 0 评论 -
JavaScript中的对象
JavaScript中的对象,是无序属性的集合,其属性可以包含基本值,对象或函数。我们可以把JavaScript中对象想象成键值对,其中的值可以是数据和函数。创建对象的三种方式:1.字面量方式var obj1={ name:"小华", age:20, friends:["小明","小丽"], play:function () { con...原创 2018-08-15 16:54:59 · 132 阅读 · 0 评论 -
浅谈对原型及原型链的理解
在开篇我先总结一下原型的作用:1.数据共享 节约内存内存空间2.实现继承注意:函数也是一个对象,对象不一定是函数。(对象有__proto__属性,函数有prototype属性)此处说明,方便大家理解下文。下面我将举例说明为什么要使用原型例1:function Person(name) { this.name=name; this.eat=function () {...原创 2018-08-15 12:00:18 · 19482 阅读 · 0 评论 -
2018秋招之前端面试题自我总结(JavaScript部分)
1.请解释事件代理 事件代理又称事件委托,事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。 1.1那为什么要使用事件委托呢? 在JavaScript中,添加到页面上的事件处理程序数量直接关系到页面的整体的运行性能,因为需要不断的与dom节点进行交互,访问dom的次数越多,引起浏览器重绘与重拍的次数也就越多,会延长整个页面的交互就绪时间,...原创 2018-07-28 17:52:28 · 451 阅读 · 0 评论 -
JavaScript中变量,作用域和内存问题
变量,作用域和内存问题学习重点: 1.理解基本类型和引用类型的值 2.理解执行环境 3.理解垃圾回收 JavaScript变量松散类型的本质,决定了它只是在特定时间用于保存特定值的一个名字而已。由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变。 1.基本类型和引用类型的值 ...原创 2018-07-29 10:52:32 · 305 阅读 · 0 评论 -
JavaScript之call()、apply(),bind()方法
每个函数都包含两个非继承而来的方法:call()和apply()。这两个方法的用途都是在特定的作用中调用函数,实际上等于设置函数体内this的值(改变了this的指向)。apply(对象,[参数1,参数2...])方法接受两个参数:一个是在其中运行函数的作用域,另一个是参数数组(该参数可以是Array的实例,也可以是arguments对象)。举例1:function sum(num1...原创 2018-08-02 22:53:18 · 135 阅读 · 0 评论 -
JavaScript之RegExp(正则表达式)
1.正则表达式的创建1.1构造函数式var reg=new RegExp("规则","标志");var reg=new RegExp("\d\d","i");1.2字面量var reg=/规则/标志;var reg=/\d\d/i;2标志 i:不区分大小写 g:全局匹配 m:多行3.规则\转义字符:可以将下一个字符标记为一个特殊字符或愿义字符或一个向后引用或一个八进制转...原创 2018-08-02 22:56:51 · 369 阅读 · 0 评论 -
理解JavaScript的编译过程与运行机制
JavaScript引擎,不是逐条解释执行javaScript代码,而是按照代码块一段段解释执行。所谓代码块就是使用<script>标签分隔的代码段。一、编译阶段对于常见编译型语言(例如:Java)来说,编译步骤分为:词法分析->语法分析->语义检查->代码优化和字节生成。对于解释型语言(例如JavaScript)来说,通过词法分析和语法分析得到语法树后...原创 2018-08-04 07:53:24 · 9482 阅读 · 1 评论 -
H5+flex实现tab吸顶
实现tab吸顶的基本思路:先获取到你想要置顶组件的位置,然后获取鼠标滚动过的距离,两者进行比较,设置对应的样式即可。html代码:<div class="content"> <header>header</header> <nav id="nav"> <ul> &a原创 2018-08-30 18:18:41 · 2721 阅读 · 0 评论 -
前端模块化理解
转至http://www.cnblogs.com/lvdabao/p/js-modules-develop.html在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可;如今CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀,这时候JavaScr...转载 2018-08-29 08:45:46 · 3483 阅读 · 0 评论 -
扫描二维码获取到参数跳转展示相应页面
二维码就相当于一个地址url//从地址获取参数function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r !=...原创 2019-06-21 15:25:04 · 8049 阅读 · 4 评论 -
js运行原理与机制
js运行机制本章了解一下js的运行原理,了解了js的运行原理才能写出更优美的代码,提高运行效率,还能解决开发中遇到的不理解的问题。进程与线程进程是cpu资源分配的最小单位,进程可以包含多个线程。 浏览器就是多进程的,每打开的一个浏览器窗口就是一个进程。线程是cpu调度的最小单位,同一进程下的各个线程之间共享程序的内存空间。可以把进程看做一个仓库,线程是可以运输的货车,每个仓库有...转载 2019-05-27 14:19:14 · 1001 阅读 · 0 评论 -
获取地址栏url的参数
方法1:function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则 if(...原创 2019-02-25 11:27:40 · 443 阅读 · 0 评论 -
vue中web端样式兼容移动端样式
<div :class="{articleDetails:true, phoneWidth:phoneW}"></div> if(window.matchMedia("(max-width:767px)").matches){ this.phoneW = true; } .phoneWidth{ width: 10...原创 2019-02-28 17:00:20 · 1643 阅读 · 0 评论 -
jquery实现事件代理
$('.parent').on('click','.child',function () { $(".parent").hide(); })事件代理利用了事件冒泡的原理,通过在父级元素绑定handler来监听子元素上触发的事件,从而减少了事件绑定的次数,也能够为动态添加的元素绑定事件。父级元素是dom结构中确定存在的,若在该父级元素下找不到子元素,则不执行该事...原创 2019-02-22 14:03:12 · 1205 阅读 · 0 评论 -
JS中检测数据类型的几种方式
判断js中的数据类型有一下几种方法:typeof、instanceof、 constructor、 prototype、 $.type()/jquery.type(),接下来主要比较一下这几种方法的异同。先举几个例子:var a = "iamstring.";var b = 222;var c= [1,2,3];var d = new Date();var e = functio...原创 2018-10-14 09:54:20 · 888 阅读 · 0 评论 -
HTML,CSS,JavaScript的加载顺序
HTML页面加载和解析流程 1. 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件。 2. 浏览器开始载入html代码,发现<head>标签内有一个<link>标签引用外部CSS文件。 3. 浏览器又发出CSS文件的请求,服务器返回这个CSS文件。 4. 浏览器继续载入html中<body>部分的代码...原创 2018-09-04 10:16:45 · 181 阅读 · 0 评论 -
Web前端主流模块化框架的区别
主流模块化框架 commonJS AMD(Asynchronous Module Definition) CMD(Common Module Definition) UMD(Universal Module Definition) ES6规范 commonJS commonJS模块化 定义模块:即一个单独的文件就是一个模块,切该文件中的作用域独立,当中的变量是...原创 2018-08-29 09:53:27 · 3111 阅读 · 0 评论 -
JavaScript细节易错点整理
1.注意:不要直接判断两个浮点数是否相等console.log(0.1 + 0.2);//0.30000000000000004console.log(0.1 + 0.2 == 0.3);//falseconsole.log(parseInt(0.01) * 10 + parseInt(0.02 * 10) == parseInt(0.3));//true2.isNaN("red")...原创 2018-08-09 11:43:31 · 399 阅读 · 0 评论