自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 实现千位符分隔的方法

1.原生方法 new Intl.NumberFormat('zh-CN', { style: 'currency', currency: 'CNY'}).format(123456.789)2正则匹配 需要先格式化一下数字让其必须有小数点才行:new Number("12345678.123456").toFixed(2).replace(/\d+?(?=(\d{3})+?\.)/...

2019-07-22 11:40:36 790

原创 js的浅拷贝和深拷贝

浅拷贝浅拷贝自然就不用多少了,针对引用类型的拷贝,拷贝的是引用地址,上例子:var a={name:'hanmeimei',age:22};var b=a;b.name='wanglei';console.log(a)//打印结果 {name: "wanglei", age: 22}还有一种ES6的方法object.assign(),上例子://例子1var a={na...

2019-02-27 15:19:24 148

原创 js中的值类型和引用类型的区别

JS的值类型和引用类型的区别1.JavaScript中的变量类型有哪些?(1)值类型(基本类型):字符串(String)、数值(Number)、布尔值(Boolean)、Undefined、Null  (这5种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值)(2)引用类型:对象(Object)、数组(Array)、函数(Function)2.值类型和引用类型的区别...

2019-02-27 14:57:14 463

转载 px、物理像素、rem、rpx的关系

在开发中,我们常用的几个尺寸的单位,就是px,rem,微信小程序中会用到rpx,可能你不理解它们的关系也能用起来,但想避过与单位有关的一些坑,你就得深入理解他们。px和物理像素显示的原理就是把要显示的数据写入显存区域,然后显示设备读取这些数据,驱动硬件就可以显示了。显示的数据是以像素为单位的,一个像素只能显示一种颜色,但是根据显示颜色的总数不同,每个像素占的位数也不同。如果我想显示黑白,那...

2019-02-27 12:22:06 594

转载 for循环 + setTimeout 结合问题

一、写在前面,setTimeout 和 setInterval 的执行机制在日常编码中,你会发现,给 setTimeout 和 setInterval 设定延迟时间往往并不准,或者干脆 setTimeout(function(){xxx},0) 也不是立马执行(特别是有耗时代码在前),这是因为 js 是单线程的,有一个事件队列机制,setTimeout 和 setInterval 的回调会到了...

2019-02-19 14:56:29 570

原创 同源策略、跨域解决方案

同源策略、跨域解决方案1、先来说说什么是源• 源(origin)就是协议、域名和端口号。以上url中的源就是:http://www.company.com:80若地址里面的协议、域名和端口号均相同则属于同源。以下是相对于 http://www.a.com/test/index.html 的同源检测• http://www.a.com/dir/page.html ----成功• htt...

2019-01-22 18:33:20 111

原创 使用node.js搭建web服务器

首先要到http://nodejs.org/下载和安装Node.js。然后,打开终端应用(如果你用的是Windows操作系统,打开Node.js的命令行),输入如下命令:npm install http-server -g最好手动输入这些命令,复制粘贴可能会出错。也可以用管理员身份执行上述命令。对于Linux和Mac操作系统,使用如下命令:sudo npm install http-se...

2019-01-10 10:23:36 283

原创 ES6块级作用域避免了内存泄漏

场景:var s = 'hello'; for (var i = 0; i < s.length; i++) { console.log(s[i]); } console.log(i);//5上面代码中,变量i只用来控制循环,但是循环结束后,它并没有消失,泄露成了全局变量。(可以把 var i 改为 let i 试一下)var s = 'hello'; for...

2019-01-07 18:58:03 329

原创 react的纯组件和无状态组件

1.1 无状态组件无状态组件可以通过减少继承Component而来的生命周期函数而达到性能优化的效果。从本质上来说,无状态组件就是一个单纯的render函数,所以无状态组件的缺点也是显而易见的。因为它没有shouldComponentUpdate生命周期函数,所以每次state更新,它都会重新绘制render函数。原则上,只要一个组件只具有render函数时,都可以封装成无状态组件,但是我认为...

2019-01-02 11:58:21 749

原创 浅谈vue和react的数据流和绑定

就数据流来说:Vue和React均是单向数据流传递,举个例子:单向数据流指只能从一个方向修改数据,姑且我们可以这样理解,如下图所示。一个父组件下有两个子组件1和子组件2,父组件可以向子组件传递数据。假如子组件都获取到了父组件的name,在子组件1中对name重新修改之后,子组件2和父组件中的值并不会发生改变,这正是因为Vue中的机制是单向数据流,子组件不能直接改变父组件的状态。但反过来,如果是...

2018-12-05 18:22:58 2410 1

转载 前端组件化与模块化之间的区别

前言组件化与模块化已经深入体现到软件开发当中,也是为了让开发者更好的去解决软件上的高耦合、低内聚、无重用的3大代码问题。在写这篇文章之前,我也百度过很多相关介绍文章,各个作者都有自己的一些想法或者总结,所以当时看得比较乱,在实践过程中也存在不少疑惑(很多时候不知道选择用组件还是模块,或者有时候根本分不清自己这得是组件还是模块。云里雾里~~)。因此为了解决这些疑惑帮自己统一了组件化与模块化的使用方...

2018-12-04 15:10:03 1126

转载 前端JS 模块规范 CommonJS、CMD、AMD、ESM

CommonJSnodejs所采用的模块规范导出模块:exports.myModule = function 或者 module.exports = {}导入模块:var myModule = require("路径")CMD(Common Module Definition,通用模块定义)引入模块加载器:<script src="base/lib/sea.js" type="te...

2018-11-14 16:48:51 1177

转载 【JS】深拷贝与浅拷贝的区别,实现深拷贝的几种方法

如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。此篇文章中也会简单阐述到栈堆,基本数据类型与引用数据类型,因为这些概念能更好的让你理解深拷贝与浅拷贝。我们来举个浅拷贝例子:let a=[0,1,2,3,4], b=a;console.log(a===b);a[0...

2018-10-31 10:09:33 270

原创 JS中的call()方法和apply()方法用法总结

1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法。2. 相同点:这两个方法的作用是一样的。都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。call()方法使用示例://例1 <script&g...

2018-10-30 15:50:08 185

转载 Javascript 实现前端防御 http劫持 及防御 XSS攻击,并且对可疑攻击进行上报

Usage:引入 httphijack1.0.0.js 。Features:所有内联 on* 事件执行的代码a标签 href 属性 javascript: 内嵌的代码静态脚本、iframe 等恶意内容动态添加的脚本文件、iframe 等恶意内容document-write添加的内容页面被 iframe 嵌套劫持Tips:建立自己的域名白名单、关键字黑名单、上报系统及接收后端。...

2018-10-26 16:03:54 215

转载 React新Context API在前端状态管理的实践

众所周知,React的单向数据流模式导致状态只能一级一级的由父组件传递到子组件,在大中型应用中较为繁琐不好管理,通常我们需要使用Redux来帮助我们进行管理,然而随着React 16.3的发布,新context api成为了新的选择。一、Redux的简介以及缺陷Redux来源于Flux并借鉴了Elm的思想,主要原理如下图所示:可以看到,Redux的数据流其实非常简单,外部事件通过action...

2018-10-26 11:16:56 110

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除