js代码

前端JS删除对应数组元素

烈酒焚心 提交于 2019-12-18 00:06:17
内容:前端JS删除对应数组元素 //删除数组,坐标为index的元素 arry.splice(index,1); 应用:求两数组之间的差集,求出arr2中arr1没有的元素 代码: function diffArr(){ var arr1 = ['a','b','c','d']; var arr2 = ['a','e','f']; for(var i=0;i<arr1.length;i++){ var no = arr1[i]; for(var j=0;j<arr2.length;j++){ if(arr2[j]==no){ arr2.splice(j,1); } } } console.log(arr2); } 结果: ["e", "f"] 参考文档: MDN:Array.prototype.splice() 来源: CSDN 作者: 代码玩家 链接: https://blog.csdn.net/qq_33172029/article/details/103585555

前端测试框架对比(js单元测试框架对比)

落爺英雄遲暮 提交于 2019-12-17 23:49:41
前端测试框架对比(js单元测试框架对比) 本文主要目的在于横评业界主流的几款前端框架,顺带说下相关的一些内容。 测试分类 通常应用会有 单元测试(Unit tests) 和 功能测试(Functional tests),复杂大型应用可能会有整合测试(Integration tests)。 其中: 单元测试:关注应用中每个零部件的正常运转,防止后续修改影响之前的组件。 功能测试:确保其整体表现符合预期,关注能否让用户正常使用。 整合测试:确保单独运行正常的零部件整合到一起之后依然能正常运行。 详细资料1 详细资料2 开发人员主要关注单元测试,作为开发中的反馈。本文重点讨论的单元测试框架。 单元测试的好处: 如果能通过单元测试,那么通过后续测试且软件整体正常运行的概率大大提高。 单元测试发现的问题定位到细节,容易修改,节省时间。 追踪问题变得更加方便。 选择单元测试框架 单元测试应该:简单,快速执行,清晰的错误报告。 测试框架基本上都做了同一件事儿: 描述你要测试的东西 对其进行测试 判断是否符合预期 选择框架会考虑下面的点: 断言(Assertions):用于判断结果是否符合预期。有些框架需要单独的断言库。 适合 TDD / BDD:是否适合 测试驱动型 / 行为驱动型 的测试风格。 异步测试:有些框架对异步测试支持良好。 使用的语言:大部分 js 测试框架使用 js。 用于特定目的

js网页自动关闭无提示

感情迁移 提交于 2019-12-17 21:30:14
Window.Close();Window.Open(); 1、Javascript关闭当前窗口 window.close()就可以,不过它会出个提示“您查看的网页正在试图关闭窗口。是否关闭窗口?”,如何才能不弹出这个提示? “如果你第一次打开这个网页,window.close()就会弹出提示,如果这个网页是由其它的网页window.open()出来的页面,window.close()时,就不会出现提示; <script language="JavaScript" type="text/javascript"> function cl() { window.opener=''; window.close(); } </script> 上面的方法是当前页面的opener赋为空字符串(空字串可不是null,并不是为空),然后关闭当前页,做个按钮来触发这个方法; <input type="submit" onclick="cl()" name="Submit" value="提交" />点击即关闭了当前窗口,且没有提示; 也有可能会用在框架页面,就是frame的子页中,那么上面的代码应该写成 <script language="JavaScript" type="text/javascript"> function cl() { window.top.opener=''; window

js中this的指向问题

≡放荡痞女 提交于 2019-12-17 20:43:23
this指向 首先必须要说的是, this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象 (这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的,所以在你理解this的时候会有种琢磨不透的感觉),那么接下来我会深入的探讨这个问题。 示例1   function a(){   var user = "追梦子";   console.log(this.user); //undefined   console.log(this); //Window } a(); /||\ || 等价于 \||/ function a(){   var user = "追梦子";   console.log(this.user); //undefined   console.log(this);  //Window } window.a(); 此时的this指向的是window 示例2 这里的this指向的是对象o,因为你调用这个fn是通过o.fn()执行的,那自然指向就是对象o,这里再次强调一点,this的指向在函数创建的时候是决定不了的,在调用的时候才能决定,谁调用的就指向谁,一定要搞清楚这个。 var o = { user:

vue-learning:22 - js - directives

会有一股神秘感。 提交于 2019-12-17 19:10:19
directives 在讲解视图层指令时,我们讲到 ref 特性,使用它我们可以获取当前 DOM 元素对象,以便执行相关操作。 <div id="app"> <input ref="ipt" type="text" v-model="value" /> </div> new Vue({ el: "#app", data: { value: '' }, methods: { handleEle() { let ele = this.$refs.ipt // do somthing } } }) 如果某个 DOM 操作在不同组件的元素或组件内多个元素都需要执行,像这样在每个组件里都重复写一遍处理逻辑代码肯定不是好办法。此时我们可以自定义一个指令,在指令钩子函数的回调里复用逻辑代码。 其时,自定义指令的思想还是代码复用的想法,同组件、混入、函数思想一样。 基本使用 根据指令使用范围的不同,你可以将指令定义在全局作用域、实例作用域或单个组件作用域内。 // 在vue全局作用域 vue.directive('name', { bind: function (el, binding,vnode){/* do something */}, inserted: function (el, binding,vnode){/* do something */}, update: function

企名片参数的参数js解密

空扰寡人 提交于 2019-12-17 17:08:29
该文章主要提供交流学习使用,请勿利用其进行不当行为! 如本篇文章侵犯了贵公司的隐私,请联系我立刻删除! 个人博客: http://www.feastawlisao.com/ 欢迎关注个人公众号:pythonORjs 企名片的各个板块都被加密了,实际上就是转换,以企名片快讯为例。 第一步肯定是打开开发者工具,然后刷新,页面,既然要找数据,那我们先搜索一下。 发现,竟然没有这个数据,敲,,然后编码后去搜索,一无所获,,那就看一下接口,有什么东西没。 看完就发现有一个数据很可疑,是这样的,。 那我们就明白了。。他是通过js把这段参数经过各种运算变成我们所需要的数据,那我们就找一个这个参数,全局search一下。如下图。 这个就是encrypt_data参数,被js执行的代码块。是通过调用参数o来返回数据的,数据如下。 此处调试的时候,会显示json未定义,有三种办法解决,一种是用v8模块,一种是下载json.js,另一种就是用eval()方法代替json。python调试js的库,可以百度查询。 结果如上,仅供学习交流!如有不明白的地方,可留言! 欢迎关注我的公众号: 来源: CSDN 作者: 皮不过我吧 链接: https://blog.csdn.net/qq_42959350/article/details/103027410

js生成图片验证码

好久不见. 提交于 2019-12-17 16:17:08
页面代码:(使用到了mui样式) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <title>验证码生成示例</title> <link rel="stylesheet" href="../css/mui/mui.min.css" /> <style> /*验证码*/ .verificationCode{ width: 4rem;

如何使用bootstrap

♀尐吖头ヾ 提交于 2019-12-17 15:58:30
前言: 前几天,本想做一个登陆界面,但自己写form表单必然很丑,所以想用下bootstarp框架,之前听别人说bootstrap很牛的样子。但我完全不会bootstrap... 下载&目录 看 bootstrap官网 ,接着我下载了用于生产环境Bootstrap: 解压出来是这样的: 目录结构大概是这样的,前几天在官网有看到。下面这个目录结构你应该先了解下: bootstrap3 ├── css │ ├── bootstrap-theme.css //主题类型,生产上一般用不到 │ ├── bootstrap-theme.css.map //主题类型,生产上一般用不到 │ ├── bootstrap-theme.min.css //主题类型,生产上一般用不到 │ ├── bootstrap.css │ ├── bootstrap.css.map //做映射的,可以理解为 shuaige = “luotianshuai” 那么掉shuaige的时候就相当于掉luotianshuai │ └── bootstrap.min.css ├── fonts // 包含了字体图标文件 ,他也是做的对应。下面的文件包含了不同系统下的字体图标 │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg

JS 引擎的执行机制:事件轮询event loop

有些话、适合烂在心里 提交于 2019-12-17 14:48:15
举例 setTimeout(function() { console.log(1) }, 0); new Promise(function executor(resolve) { console.log(2); for( var i=0 ; i<10000 ; i++ ) { i == 9999 && resolve(); } console.log(3); }).then(function() { console.log(4); }); console.log(5); 结果:2 3 5 4 1 解释: 按照这种分类方式:JS的执行机制是: 首先判断JS是同步还是异步,同步就进入主进程,异步就进入event table 异步任务在event table中注册函数,当满足触发条件后,被推入event queue 同步任务进入主线程后一直执行,直到主线程空闲时,才会去event queue中查看是否有可执行的异步任务,如果有就推入主进程中 以上三步循环执行,这就是event loop。 准确的划分方式是: macro-task(宏任务):包括整体代码script,setTimeout,setInterval micro-task(微任务):Promise,process.nextTick 按照这种分类方式,JS的执行机制是: 执行一个宏任务,过程中如果遇到微任务,就将其放到微任务的

j

偶尔善良 提交于 2019-12-17 14:07:10
j son详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。这篇文章主要从以下几个方面来说明JSON。 1.JSON的两种结构 2,认识JSON字符串 3,在JS中如何使用JSON JSON的两种结构 JSON有两种表示结构,对象和数组。 对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。 { key1:value1, key2:value2, ... } 其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组 数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。 [ { key1:value1, key2:value2 }, { key3:value3, key4:value4 }