![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
ruanhongbiao
最想要去的地方,怎能半途返航。
展开
-
JS字符串False转Boolean
大家都知道在JS的世界里, 0、-0、null、""、false、undefined 或 NaN,这些都可以自动转化为布尔的 false,那么字符串的"false"是不是false呢,答案是否定的,if("false") 来判断的话,是等于true的。1.var hasAuth = 'true';if(hasAuth){ //此时的hasAuth是true }2.var h...原创 2020-03-30 10:41:21 · 2158 阅读 · 0 评论 -
【JavaScript】标准日期、中国标准时间、时间戳、毫秒数互转
标准日期:2017-09-19 或 2017-09-19 20:00:00 中国标准时间:Mon Oct 23 2017 17:20:13 GMT+0800 (中国标准时间) 时间戳:1508750413 毫秒数:1508750413000注意:时间戳*1000就是毫秒数日期或中国标准时间转毫秒数://变量let myDate2 = 'Mon Oct 23 2017 ...转载 2020-01-10 15:14:05 · 1066 阅读 · 0 评论 -
web全栈每日一题周刊 | 第一期
业精于勤,荒于嬉;行成于思,毁于随!学习从来都不是一蹴而就的事情,需要每天的点滴积累与沉淀,从而由量变引发质变!我在 github 上建了一个仓库 全栈每日一题,每天早上9点发布一个web全栈的题目。有关前端,nodejs,运维,数据库以及软技能等,促进个人技术职业成长,欢迎交流。为什么建这个仓库?每个人的学习方式不一样,有的人自律性强一些就会工作之余去学习新知识技术,构建自己的知...原创 2019-12-20 17:58:11 · 428 阅读 · 0 评论 -
【吐血整理】强烈推荐 GitHub 上值得学习的开源实战项目(持续更新中,万字长文建议收藏)
强烈推荐 GitHub 上值得学习的开源实战项目,包含web前端,java,PHP,python,Android/IOS,大数据,区块链,AI机器学习,数据结构与算法,设计模式等等。为什么要写这篇文章,前几天在微信群里看到一个新进群的同学在问有没有公司级的VUE项目给他学习参考一下,于是我就整理了下面这一份长文,本来上周末就要发的,后面越写越多,当然也检讨一下自己的效率,以后斜纹发文一定要给自...原创 2019-12-12 18:48:50 · 9215 阅读 · 1 评论 -
js获取服务器时间并将GTM时间转换为北京时间(亲测有效)
在项目做倒计时功能时用new Date().getTime()获取到的本地客户端的时间,假如用户本地的时间和服务器时间北京时间不一致的话会导致显示的倒计时不一致的问题。$.ajax({ url: '', type: 'get', success: function (data, status, xhr) { var s...原创 2019-11-27 17:16:12 · 2372 阅读 · 1 评论 -
Nginx支持WebSocket反向代理
WebSocket是目前比较成熟的技术了,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择。其为HTML5的一部分,WebSocket相较于原来开发这类app的方法来说,其能使开发更加地简单。大部分现在的浏览器都支持WebSocket,比如Firefox,IE,Chrome,Safari,Opera,并且越来越多的服务器框架现在也同样支持WebSocket。...原创 2019-04-26 17:42:08 · 442 阅读 · 0 评论 -
2019前端工程师的自检清单
开篇前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快是其他技术所不能比拟的。winter在他的《重学前端》课程中提到:到现在为止,前端工程师已经成为研发体系中的重要岗位之一。可是,与此相对的是,我发现极少或者几乎没有大学的计算机专业愿意开设前端课程,更没有系统性的教学方案出现。大部分前端工程师的知识,其实都是来自于实践和工作中零散的学习。这...原创 2019-04-28 15:22:27 · 569 阅读 · 0 评论 -
js字符串转成数字的三种方法
方法主要有三种转换函数、强制类型转换、利用js变量弱类型转换。1. 转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。一些示例如下:代码如下:parseInt("1234blue");...原创 2019-04-28 15:36:39 · 16121 阅读 · 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...原创 2019-04-28 15:40:56 · 131 阅读 · 0 评论 -
vue filter的四种用法
本章主要讲vue2的过滤器的使用先介绍下vue1与vue2的filter区别,也就是vue2更新的地方 a: 2.0将1.0所有自带的过滤器都删除了,也就是说,在2.0中,要使用过滤器,则需要我们自己编写。 b:2.0过滤器的传参方式不是以前的方式,是以函数传参的方式,下面示例(后面有具体示例):之前调用: {{msg | mimi '12' '5'}}现在调...原创 2019-04-28 16:07:09 · 96142 阅读 · 6 评论 -
JS引擎线程的执行过程的三个阶段
浏览器首先按顺序加载由<script>标签分割的js代码块,加载js代码块完毕后,立刻进入以下三个阶段,然后再按顺序查找下一个代码块,再继续执行以下三个阶段,无论是外部脚本文件(不异步加载)还是内部脚本代码块,都是一样的原理,并且都在同一个全局作用域中。JS引擎线程的执行过程的三个阶段:语法分析 预编译阶段 执行阶段一. 语法分析分析该js脚本代码块的语法是否正确,如...原创 2019-03-04 14:41:47 · 521 阅读 · 0 评论 -
彻底弄懂HTTP缓存机制及原理
前言Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。在此,我会尝试用简单明了的文字,像大家系统的介绍HTTP缓存机制,期望对各位正确的理解前...原创 2019-04-29 14:38:01 · 125 阅读 · 0 评论 -
全面分析前端的网络请求方式
一、前端进行网络请求的关注点大多数情况下,在前端发起一个网络请求我们只需关注下面几点:传入基本参数(url,请求方式) 请求参数、请求参数类型 设置请求头 获取响应的方式 获取响应头、响应状态、响应结果 异常处理 携带cookie设置 跨域请求二、前端进行网络请求的方式form表单、ifream、刷新页面 Ajax- 异步网络请求的开山鼻祖 jQuery- 一个...原创 2019-04-29 14:51:03 · 1189 阅读 · 0 评论 -
localStorage,sessionStorage,cookie使用场景和区别
localStorage:HTML5新增的在浏览器端存储数据的方法。设置和获取localStorage的方法:设置: localStorage.name = 'zjj';获取: localStorage.name //zjjsessionStorage: HTML5新增的在浏览器端存储数据的方法,设置和获取sessionStorage的方法:设置: sessionStorage.n...原创 2019-04-10 09:21:30 · 1026 阅读 · 0 评论 -
js中__proto__, property, prototype, 对象自身属性方法和原型中的属性方法的区别
__proto__: 这个属性是实例对象的属性,每个实例对象都有一个__proto__属性,这个属性指向实例化该实例的构造函数的原型对象(prototype)。proterty:这个方法是对象的属性。(据说和一个对象的attr类似,比如dom对象中)prototype:每个构造函数都有一个prototype对象,这个对象指向该构造函数的原型。对象自身属性方法和原型中的属性方法的区别: ...原创 2019-04-10 08:57:49 · 1049 阅读 · 0 评论 -
TypeScript初识及环境搭建
“学习TypeScript难吗?”,对于新手而言,在刚接触到一门新技术的时候,总是很习惯的问上这么一句。在这里我可以郑重的告诉你:“上手TypeScript几乎没有任何难度可言!”TypeScript最近很火,有很多开源的项目也是由其开发的,如果你是一名前端开发工程师或准备要成为一名前端开发工程师的话,现在如果再不学习TypeScript就真的太OUT了!那么现在请你系好安全带,和我一起踏...原创 2019-03-07 11:34:53 · 210 阅读 · 0 评论 -
你能读得懂的TypeScript教程之函数
函数同样是TypeScript的基础之一。通过函数你可以将重合的功能代码块进行封装,然后在你需要它的时候调用即可。换句话说函数就是具有某一功能的代码块,它的使命是将你臃肿的代码变的更加苗条。首先,咱们先来回顾一下之前在JS中是如何创建函数以及实现调用的: 1、函数声明:function fn (a,b){ return a + b;}2、函数表达式:let f...原创 2019-03-08 09:22:04 · 450 阅读 · 0 评论 -
js 替换 当前URL 特定参数
config.js://替换指定传入参数的值,url为地址,paramName为参数,replaceWith为新值export function replaceParamVal(url,paramName,replaceVal) { var oUrl = url.toString(); var re=eval('/('+ paramName+'=)([^&]*)/gi');...原创 2019-03-21 10:19:38 · 4255 阅读 · 0 评论 -
Content-Type 类型浅析汇总
Content-TypeContent-Type(MediaType),即是Internet Media Type,互联网媒体类型,也叫做MIME类型。在互联网中有成百上千中不同的数据类型,HTTP在传输数据对象时会为他们打上称为MIME的数据格式标签,用于区分数据类型。最初MIME是用于电子邮件系统的,后来HTTP也采用了这一方案。在HTTP协议消息头中,使用Content-Type来表示...原创 2019-04-04 10:55:01 · 5680 阅读 · 0 评论 -
批量上传大视频时,关于post请求报错NET:ERR_CONNECTION_RESET
前言新手做前端大项目,遇到坑真是接踵而来。这次遇到的是使用formData传文件的时候,如果上传文件数太多,总是报NET:ERR_CONNECTION_RESET的错,百度好久也不知道什么原因,后来自己慢慢摸索,可能原因有二。一、查看一下tomcat配置文件server.xml是否设置了上传文件总大小的限制注意下面的maxPostSize,它就是设置限制上传文件的大小的属性...原创 2019-04-12 10:10:15 · 5543 阅读 · 0 评论 -
js时间戳和日期格式互转
预备知识知道什么是时间戳:即距离1970年01月01日00时00分00秒的毫秒数(如果你要用到的是秒,那也行,单位问题而已)。 知道为什么需要把日期转化成时间戳:对于前端来说,接触的到的时间多是2018-08-08这种形式的,但是在拉取后端数据时,一般要把时间转化成时间戳再传过去。同样的道理要会把时间戳转化成我们想要的日期格式。时间 -> 时间戳 (2018/08/09 10:10:...原创 2019-04-15 16:48:16 · 339 阅读 · 0 评论 -
javascript 取小数点后几位方法总结
Javascript取float型小数点后两位,例22.123456取成22.12,如何做?1.通过substring截取。function getnum(){var num = 22.123456;var result = num.substring(0,s.indexOf(".")+3);alert(result);}2. 正则表达式。function getnu...原创 2019-04-15 16:56:29 · 3714 阅读 · 0 评论 -
如何在vue项目中使用md5.js及base64.js
一、在项目根目录下安装npm install --save js-base64npm install --save js-md5二、在项目文件中引入import md5 from 'js-md5';let Base64 = require('js-base64').Base64;三、在项目文件中使用base64Base64.encode('dankogai');...原创 2019-04-10 08:55:53 · 466 阅读 · 0 评论 -
前端开发者必备的nginx知识
nginx在应用程序中的作用解决跨域 请求过滤 配置gzip 负载均衡 静态资源服务器nginx是一个高性能的HTTP和反向代理服务器,也是一个通用的TCP/UDP代理服务器,最初由俄罗斯人Igor Sysoev编写。nginx现在几乎是众多大型网站的必用技术,大多数情况下,我们不需要亲自去配置它,但是了解它在应用程序中所担任的角色,以及如何解决这些问题是非常必要的。下面...原创 2019-04-29 14:58:13 · 169 阅读 · 0 评论 -
html5 js 实现浏览器全屏效果(F11)
最近项目中需要浏览器全屏的效果、我查了很多资料、终于、找到了一段代码、说是能兼容google chrome 15 +, safri5.1+,firfox10+,IE11支持 、我只试验了火狐可以、360、以及IE8是没有成功滴、下面给大家发下代码、复制到HTML的页面就可以实现啦!<input id="Button1" type="button" value="开始全屏" oncli...原创 2019-04-30 10:21:16 · 1024 阅读 · 0 评论 -
Js根据年和月获取该月有几天
js根据年和月获取该月有几天:/** * 判断某年是否闰年 */export function isRuinian(year){ if(year/4 == 0 && year/100 != 0){ return 29; } else if (year/400 == 0){ retu...原创 2019-09-27 10:09:28 · 551 阅读 · 0 评论 -
这可能是最全的form表单提交方式
1.无刷新页面提交表单表单可实现无刷新页面提交,无需页面跳转,如下,通过一个隐藏的iframe实现,form表单的target设置为iframe的name名称,form提交目标位当前页面iframe则不会刷新页面<form action="/url.do" method="post" target="targetIfr"><input type="text" nam...原创 2019-09-26 09:02:20 · 571 阅读 · 0 评论 -
在js中动态改变form表单中action的值
html代码:<form id="myform" action="" method="post" enctype="multipart/form-data"></form>JS动态改变form表单中action的值,写法如下:document.getElementById("myform").action = "hello?info="+info;或...原创 2019-09-26 08:55:54 · 3578 阅读 · 1 评论 -
Lodash学习笔记
有多年开发经验的工程师,往往都会有自己的一套工具库,称为utils、helpers等等,这套库一方面是自己的技术积累,另一方面也是对某项技术的扩展,领先于技术规范的制订和实现。Lodash就是这样的一套工具库,它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,其中部分是目前ECMAScript尚未制订的规范,但同时被业界所认可的辅助函数。莫倩每天使用npm安装Lodash的数量在百...原创 2019-08-20 11:30:21 · 331 阅读 · 0 评论 -
玩转JS的类型转换黑科技
js身为一种弱类型的语言,不用像c语言那样要定义int、float、double、string等等数据类型,允许变量类型的隐式转换和允许强制类型转换。我们在定义一个变量的时候,就一个var、let、const搞定,不用担心数据的类型。比如常见的字符串拼接,用+号可以实现变量和字符串的拼接。总的来说,一般的规则是 !后面的字符会被转为换布尔 +后面的字符会被转换为数值(-也是差不多)...原创 2019-08-02 11:21:31 · 161 阅读 · 0 评论 -
大前端每日一题,从基础到进阶,从原理到实战,带你构建高级前端知识体系
第1题(2019-07-22):以下代码输出什么?function fn(a) { console.log(a); var a = 2; function a() {} console.log(a);}fn(1);讨论及参考答案:第1题第2题(2019-07-23):a在什么情况下,控制台会输出hello world(答案不唯一)var a = ?;if(a...原创 2019-11-11 09:01:51 · 2071 阅读 · 4 评论 -
彻底删除node_modules文件夹的两种方式
在工作中有用到gulp,webpack,使用他们需用依赖node的一些模块包,于是会在目录下生成一个node_modules文件夹。有一次想删掉它重新生成模块包的时候发现根本不太可能,无穷无尽的报一个错:路径太长(太深),无法删除,使用命令行rd、del均尝试无效(此问题win10系统下已不会出现,小伙伴们赶紧更新系统吧)。一开始我只能通过另起文件夹的做法来重新启用新项目,发现僵尸文件越来...原创 2019-07-22 09:21:55 · 7694 阅读 · 2 评论 -
移动端H5页面监听页面离开返回并且刷新页面
项目中的需求:点击浏览器中的返回按钮,要让页面重新加载资源。因为这部分的资源每次去加载的内容都不一样,如果返回的时候,还是看到原先的内容,那做这个内容块的意义就很小了;而如果用户看完了这部分内容,再返回来的时候,这个地方换成了新的内容,这样就能体现这部分的价值了。而对于浏览器来说,大部分浏览器的返回是直接使用缓存的,不会执行任何的javascript代码。原因:部分浏览器在后退时不会触发onl...原创 2019-07-30 14:31:36 · 18299 阅读 · 3 评论 -
css3判断animation动画是否完成,以及在动画完成后执行事件
用css3的animation完成一个动画,当只有这个动画完成时才执行令一个事件,比如让动画保持在终止的状态或其他一些事件。我们该怎么办呢。第一种方法:用计时器,设定一个和动画时长一样的time,过time事件去执行这个函数。setTimeout(function(){ },time);第二种方法:当-webkit-animation动画结束时有一个webkitAnimatio...原创 2019-07-30 14:08:15 · 6692 阅读 · 1 评论 -
通过userAgent是否包含MicroMessenger来判断是否在微信内置浏览器打开网页
由于微信的种种封闭,导致在微信内置浏览器打开的页面,会把外部链接全部屏蔽掉.所以通用的做法是,判断是微信浏览器打开的时候做一种处理方式.非微信浏览器打开时做另外一种处理方式.类似你想在微信打开页面里点击下载按钮,一定是不成功的.我们会友好的跳出一张引导图.那么要做出这样的逻辑判断,我们就需要获取当前页面所在的环境是不是微信内置浏览器,如何判断?function isWei...原创 2019-07-01 13:54:28 · 31028 阅读 · 0 评论 -
js正则表达式验证大全及常用字符的说明
/判断输入内容是否为空function IsNull(){ var str = document.getElementById('str').value.trim(); if(str.length==0){ alert('对不起,文本框不能为空或者为空格!');//请将“文本框”改成你需要验证的属性名称! }...原创 2019-06-23 16:00:17 · 315 阅读 · 0 评论 -
android低版本系统部分手机加载不出H5页面
我这个问题出现在android6.0以下的机子上, 其他版本没问题。解决方法(前三种方法需要Android同学改,第四种需要web前端同学改):1.启用mixed content在Android5.0中,WebView方面做了些修改,如果你的系统target api为21以上:系统默认禁止了mixed content和第三方cookie。可以使用setMixedContentMod...原创 2019-07-01 18:08:40 · 8660 阅读 · 2 评论 -
js报错:Cannot read property 'getAttribute' of null问题
在vue中使用echarts时,在图表元素并未加载的情况下进行eharts.init(),会发生此错误,因为eharts并未找到该元素,故无法对其进行渲染。echarts.js引用放在head中或者放在body中HTML代码的前面了,造成加载时阻塞后面的html。解决方案:1.查看填写的id是否真实存在,若不存在,当然无法根据getElementById来找到该元素;2.将echart...原创 2019-07-01 17:50:22 · 9787 阅读 · 2 评论 -
js中数组排序、去重
1.从小到大排序:// 从小到大顺序排序 minSort (arr) { var min for (var i = 0; i < arr.length; i++) { for (var j = i; j < arr.length; j++) { if (arr[i] > arr[j]) { ...原创 2019-07-01 17:44:12 · 623 阅读 · 0 评论 -
五种方法计算给定数组中所有元素的总和
1.不考虑算法复杂度,用递归做:function sum(arr) {var len = arr.length;if(len == 0){return 0;}else if (len == 1){return arr[0];}else {return arr[0] + sum(arr.slice...原创 2019-05-10 10:34:26 · 14579 阅读 · 0 评论