js的浅拷贝和深拷贝

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

2019-02-27 15:19:24

阅读数 35

评论数 0

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

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

2019-02-27 14:57:14

阅读数 44

评论数 0

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

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

2019-02-27 12:22:06

阅读数 32

评论数 0

for循环 + setTimeout 结合问题

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

2019-02-19 14:56:29

阅读数 15

评论数 0

同源策略、跨域解决方案

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

2019-01-22 18:33:20

阅读数 15

评论数 0

使用node.js搭建web服务器

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

2019-01-10 10:23:36

阅读数 12

评论数 0

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

场景: var s = 'hello'; for (var i = 0; i < s.length; i++) { console.log(s[i]); } console.log(i);//5 上面代码中,变量i只用来控制循环,但是循环结束后,它并没有消...

2019-01-07 18:58:03

阅读数 20

评论数 0

react的纯组件和无状态组件

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

2019-01-02 11:58:21

阅读数 66

评论数 0

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

就数据流来说: Vue和React均是单向数据流传递,举个例子: 单向数据流指只能从一个方向修改数据,姑且我们可以这样理解,如下图所示。一个父组件下有两个子组件1和子组件2,父组件可以向子组件传递数据。假如子组件都获取到了父组件的name,在子组件1中对name重新修改之后,子组件2和父组件中...

2018-12-05 18:22:58

阅读数 259

评论数 0

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

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

2018-12-04 15:10:03

阅读数 123

评论数 0

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

CommonJS nodejs所采用的模块规范 导出模块:exports.myModule = function 或者 module.exports = {} 导入模块:var myModule = require("路径") CMD(Common Module...

2018-11-14 16:48:51

阅读数 139

评论数 0

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

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

2018-10-31 10:09:33

阅读数 18

评论数 0

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

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

2018-10-30 15:50:08

阅读数 21

评论数 0

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

Usage: 引入 httphijack1.0.0.js 。 Features: 所有内联 on* 事件执行的代码 a标签 href 属性 javascript: 内嵌的代码 静态脚本、iframe 等恶意内容 动态添加的脚本文件、iframe 等恶意内容 document-write添加的内容...

2018-10-26 16:03:54

阅读数 35

评论数 0

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

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

2018-10-26 11:16:56

阅读数 25

评论数 0

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