
JavaScript
peade
前端开发
展开
-
Jest 单元测试术语解析:describe、it、expect、test
jest测试代码片段describe("number test", ()=>{ it('1 is true', ()=>{ expect(1).toBeTruthy() }) test('2 is true',()=>{ expect(2).toBeTruthy() })})describe 描述, decribe会形成一个作用域it 断言expect 期望test 测试,类似it...原创 2020-06-30 21:39:06 · 13120 阅读 · 0 评论 -
dayjs常用操作
dayjs 是一个常用的时间操作库。在这里记录一下常用的几个api解析dayjs() // 当前时间dayjs('2020-02-02')dayjs("12-25-1995", "MM-DD-YYYY")dayjs(new Date(2018, 8, 18))加减时间dayjs().add(7, 'day')dayjs().subtract(7, 'year')时间格式化dayjs().format() // current date in ISO8601, without fra原创 2020-05-15 11:44:37 · 4980 阅读 · 0 评论 -
前端下载文件流
后端提供接口,直接返回一个文件,基本的请求方式如下axios({ url, method: 'POST', params, data, headers: { 'ContentType': 'application/octet-stream;charset=uft-8;' }, responseType: 'blob' })具体地说明一下...原创 2019-12-11 16:50:18 · 935 阅读 · 0 评论 -
js证件等校验校验规则
最近在做一个项目,需要对很多种证件进行校验。经过一番查找,发现在12406网站的js里有相关正则https://kyfw.12306.cn/otn/personalJS/core/plugin/validate.js// email 正则/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}...原创 2019-10-25 14:19:11 · 3379 阅读 · 0 评论 -
jquery工具:$.each,grep,map, inArray,merge,unique,uniqueSort,contains,type.....
jQuery.each(object, [callback])通用例遍方法,可用于例遍对象和数组。不同于例遍 jQuery 对象的 $().each() 方法,此方法可用于例遍任何对象。回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。$.each( [0,1,2]原创 2017-02-05 23:11:37 · 645 阅读 · 0 评论 -
jquery笔记:事件对象 event.currentTarget,event.data,event.delegateTarget,event.relatedTarget.......
event.currentTarget在事件冒泡阶段中的当前DOM元素$("p").click(function(event) { alert( event.currentTarget === this ); // true }); event.data当前执行的处理器被绑定的时候,包含可选的数据传递给jQuery.fn.bind。$("a").each原创 2017-02-06 13:16:13 · 2552 阅读 · 0 评论 -
JS中为false的几种情况
下面的值为false:falsenullundefined"" 即空字符串0NaN------------来源 JavaScript语言精粹 P12原创 2017-01-25 22:16:54 · 11894 阅读 · 3 评论 -
windows下安装grunt 插件模版
在grunt的中文网站http://www.gruntjs.net上,对安装grunt插件模版是这么介绍的。通过 npm install -g grunt-init 命令安装 grunt-init 。通过 git clone git://github.com/gruntjs/grunt-init-gruntplugin.git ~/.grunt-init/gruntplugin原创 2017-06-23 17:20:37 · 539 阅读 · 0 评论 -
存cookie未做处理,导致访问不了
最近在做一个项目,在cookie的存取时,是自己写的一些存取操作方法,没有用成熟的库。在存cookie时,没有对中文进行编码处理,最后导致网页无法访问。出现问题的时候,一直不知道原因所在,在后台人员查看nginx日志,才发现是cookie的问题。最后解决,用了js.cookies这个库来进行cookie操作。...原创 2017-12-31 14:32:35 · 706 阅读 · 0 评论 -
精通 JS正则表达式
作者:szcjlssx正则表达式可以:•测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证•替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字•根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字正则表达式语法一个正则表达式就...转载 2016-08-30 10:32:16 · 361 阅读 · 0 评论 -
移动端position:fixed、键盘遮住输入框问题
在移动端开发的时候,用到了position:fixed的遮罩蒙层,在蒙层里又放置里输入框。当用户sh输入时,软键盘会弹起来,会遮罩住输入框。这个问题在网上有很多人问的。我查了下,感觉比较合理的解决方法是:https://segmentfault.com/a/1190000009820183通过resize() 方法触发 resize 事件,或规定当发生 resize 事件时运行的...原创 2018-08-26 09:37:07 · 7859 阅读 · 0 评论 -
sessionStorage使用
sessionStorage在MDN里的描述是这样的:sessionStorage 属性允许你访问一个 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原...原创 2018-12-02 14:44:39 · 6683 阅读 · 0 评论 -
js 数组的深拷贝
js数组、对象的深浅拷贝,真的是一个很复杂的问题。如果是对象数组的话,处理起来又会更麻烦。在遇到数据处理的时候,如果没注意到 深浅拷贝的问题,真的容易被带到沟里,怎么也找不到问题的所在。而我今天,就遇到了这样的问题。每次操作,原数组都跟这变,让人很恼火。遂认定是深浅拷贝导致的问题。我今天遇到的问题是,数组是对象数组,即类似下面这样的数组:let a=[{a:1},{a:2}]...原创 2018-12-13 22:28:07 · 1115 阅读 · 0 评论 -
jquery笔记:jQuery.fx.off
jQuery.fx.off关闭页面上所有的动画。把这个属性设置为true可以立即关闭所有动画(所有效果会立即执行完毕)。有些情况下可能需要这样,比如:* 你在配置比较低的电脑上使用jQuery。* 你的一些用户由于动画效果而遇到了 可访问性问题当把这个属性设成false之后,可以重新开启所有动画。原创 2017-02-05 22:01:08 · 316 阅读 · 0 评论 -
jquery笔记:事件 focusin, focusout,scroll, select
focusin([data],fn)当元素获得焦点时,触发 focusin 事件。focusin事件跟focus事件区别在于,他可以在父元素上检测子元素获取焦点的情况。$("p").focusin(function() { $(this).find("span").css('display','inline').fadeOut(1000);});foc原创 2017-02-05 21:43:26 · 699 阅读 · 0 评论 -
笔记:前端命名规范
HTML:标签名、属性,需要小写。属性值,用双引号闭合。id名称,关键词用下划线_连接,class关键词用中划线-连接如果class名称仅做js调用,无样式,则在名称中加js前缀。CSS规范避免class命名重复,取父元素做名称前缀左{与css选择器同行多个选择器,每个选择器单独占一行样式定义按模块来分组,不同模块之间用空行分割JS命名规范和格式原创 2017-02-04 15:01:48 · 481 阅读 · 0 评论 -
笔记:HTML实践规范
自闭合标签: area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track,wbr自闭合标签无需结束标签,也不需要添加 /严格禁止标签交叉嵌套不使用不标准的标签和属性css样式与HTML页面结构分离不使用@import方式添加必要的标签有4个属性原创 2017-02-04 16:19:50 · 281 阅读 · 0 评论 -
笔记:CSS规范
css属性分类排序:显示与浮动:display,float定位:position,z-index尺寸:width,height边框相关:margin, padding, border, outline, border-radius字体样式:font, color, text-shadow,背景样式:background其他样式:opacity, cursor,.原创 2017-02-04 16:40:14 · 414 阅读 · 0 评论 -
笔记:JS规范
良好编程习惯:避免定义全局变量或函数使用简化的编码方式使用比较运算符 === 和!==避免使用with避免使用eval不要编写检测浏览器的代码事件处理和业务逻辑分离配置数据和代码逻辑分离逻辑和结构样式分离:js中尽量避免写CSS样式高性能DOM操作:合并多次DOM操作为一次设置具有动画效果的DOM元素的position属性为fixed原创 2017-02-04 16:58:25 · 229 阅读 · 0 评论 -
笔记:移动Web规范
viewport 设置:不使用:hover伪类设置悬停效果,改用:active伪类原创 2017-02-04 17:02:33 · 267 阅读 · 0 评论 -
jquery笔记:$(html)
一: $(html,[ownerDocument])示例:$("Hello").appendTo("body");二:$(html,props)示例:$("", { type: "text", val: "Test", focusin: function() { $(this).addClass("active"); }, f原创 2017-02-05 10:19:36 · 417 阅读 · 0 评论 -
jquery笔记:each、get、index
$.each(callback)return false,跳出循环,return true,进入下一个循环$("li").get(0); 获取第一个li元素index示例: foo bar baz$('li').index(document.getElementById('bar')); //1,传递一个DOM对象,返回这个对象在原先集合中原创 2017-02-05 13:15:20 · 596 阅读 · 0 评论 -
jquery笔记:选择器
$("prev +next") 匹配所有紧接在 prev 元素后的 next 元素$("prev ~siblings") 匹配 prev 元素之后的所有 siblings 元素$('li:first'); 匹配第一个$("input:not(:checked)") 去除所有与给定选择器匹配的元素$("tr:even") 匹配所有索引值为偶数的元素,从 0 开始计数$("tr:原创 2017-02-05 15:10:05 · 272 阅读 · 0 评论 -
jquery笔记:$.ajax(url,[settings])
回调函数如果要处理$.ajax()得到的数据,则需要使用回调函数。beforeSend、error、dataFilter、success、complete。beforeSend 在发送请求之前调用,并且传入一个XMLHttpRequest作为参数。error 在请求出错时调用。传入XMLHttpRequest对象,描述错误类型的字符串以及一个异常对象(如果有的话)dataFilter原创 2017-02-05 15:48:35 · 1238 阅读 · 0 评论 -
jquery笔记:load, $.get, $.getJSON,$.getScript,$.post,serialize(),serializeArray
load(url,[data],[])参数url,[data,[callback]]String,Map/String,CallbackV1.0url:待装入 HTML 网页网址。data:发送至服务器的 key/value 数据。在jQuery 1.3中也可以接受一个字符串了。callback:载入成功时回调函数。 $("#feeds").load("feed原创 2017-02-05 17:17:19 · 449 阅读 · 0 评论 -
jquery笔记:attr, removeAttr,prop
attr(name|properties|key,value|fn)设置或返回被选元素的属性值。nameStringV1.0属性名称properties MapV1.0作为属性的“名/值对”对象key,value String,ObjectV1.0属性名称,属性值key,function(index, attr) String,FunctionV1.1原创 2017-02-05 17:59:07 · 289 阅读 · 0 评论 -
jquery笔记:css
css(name|pro|[,val|fn])name String V1.0要访问的属性名称name Array V1.9一个或多个CSS属性组成的一个数组properties Map V1.0要设置为样式属性的名/值对name,value String, Number V1.4属性名,属性值name,function(index,原创 2017-02-05 18:22:33 · 225 阅读 · 0 评论 -
jquery笔记:文档处理 replaceWith, replaceAll, detach, clone
replaceWith(content|fn)contentString, Element, jQuery, FunctionV1.2用于将匹配元素替换掉的内容。如果这里传递一个函数进来的话,函数返回值必须是HTML字符串。fnFunctionV1.4返回THML字符串,用来替换的内容。$("p").replaceWith("Paragraph. ");Hell原创 2017-02-05 20:28:13 · 723 阅读 · 0 评论 -
jquery笔记:筛选 eq,first,last,filter,is,has, not, children,closest, nextUntil,parents,parentsUntil.....
eq(index|-index)获取当前链式操作中第N个jQuery对象,返回jQuery对象,当参数大于等于0时为正向选取,比如0代表第一个,1代表第二个。当参数为负数时为反向选取,比如-1为倒数第一个index Integer V1.1.2一个整数,指示元素基于0的位置,这个元素的位置是从0算起。-index Integer V1.4一个整数,指示元素的位置,从原创 2017-02-05 21:15:27 · 798 阅读 · 0 评论 -
百度分享异步加载问题、分页,无效果解决
使用百度分享的时候,如果所涉及到的html部分是后加载进来的,如ajax等异步请求成功后,加载进来,那么百度分享就有可能出现错误。我在使用的时候,遇到了两个问题。在这里记录一下。1、无法把所需要分享的内容传值到百度分享里。 百度分享的配置里有两个值,bdText,bdDesc,这两个内容,分别分享标题和内容。 内容是异步加载进来的,所以在百度分享相关代码是在加载成功后运原创 2017-01-04 11:08:23 · 2477 阅读 · 0 评论