javascript深拷贝和浅拷贝的区别

今天,CVTE面试官问了深拷贝和浅拷贝的问题 我的回答是:浅拷贝是拷贝了对象的引用,当原对象发生变化的时候,拷贝对象也跟着变化;深拷贝是另外申请了一块内存,内容和原对象一样,更改原对象,拷贝对象不会发生变化; 但是面试官给我说:浅拷贝是拷贝一层,深层次的对象级别的就拷贝引用;深拷贝是拷贝多层,每一...

2019-03-03 18:50:09

阅读数 23

评论数 0

js判断字符串或者数组中出现次数最多的元素并计算出现总次数

var str = 'addddbcsaertdd'; function maxCount(str){ var obj = {}; for(var i = 0 ; i < str...

2019-02-19 23:31:58

阅读数 30

评论数 0

for、forEach 、for in、for of 、map 循环的区别

for 遍历数组 //对象数组 var arr = [ {Monday: '星期一', Tuesday: '星期二', Wednesday: '星期三'} ] for (var i=0; i<arr.length;i++){ // i是下标(索引) ...

2019-02-17 17:21:55

阅读数 61

评论数 0

什么是跨域?如何解决?

1、什么是跨域 跨域:指的是路蓝旗不能执行其他网站的脚本。他是由浏览器的同源策略造成的,是浏览器对javascript 施加的安全限制。 例如:a页面想获取b页面的资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的。而浏览器为了安全问题一般都限制了跨域访问,也就是不允许...

2019-02-17 16:35:44

阅读数 46

评论数 0

javascript 垃圾回收

这篇文章基本上是从 《javascript 高级程序设计》中摘抄出来的。有兴趣的同学有时间可以去阅读以下! 和C#、 java一样 javascript 有自动垃圾回收机制,也就是说执行环境会负责管理代码执行过程中使用的内存,在开发过程中就无需考虑内存分配及无用内存的回收问题了。javascrip...

2019-02-17 15:36:27

阅读数 41

评论数 0

阮一峰关于js同步异步的解释

所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。 这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览...

2019-02-17 00:07:01

阅读数 34

评论数 0

document load 和 document ready 的区别

页面加载完成有两种事件 load 是当前页面所有资源加载完成后(包括DOM文档树,css文件,js文件,图片资源等),执行的一个函数, 问题: 如果图片资源较多,加载时间较长,onload 后等待执行的函数需要等待较长时间,所以一些效果可能受到影响。 $(document).ready() 是当...

2019-02-16 23:04:40

阅读数 16

评论数 0

什么是闭包,闭包的优缺点?

因为有前辈大佬阮一峰写过一篇很不错的闭包的文章,所以我这里在写就没什么意思了,直接附上原文链接!没看过的小伙伴可以去看看! 原文地址: http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html ...

2019-02-14 23:55:20

阅读数 13

评论数 0

JavaScript中基本数据类型和引用数据类型的区别

1、基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。  基本数据类型指的是简单的数据段,引用类型指的是有多个值构成的对象。  当我们把变量赋值给另一个变量时,解析器首先要确认的就是这个值是基本类型值,还是引用类型值。 常见的基本数据类型: Numb...

2019-02-13 22:07:59

阅读数 29

评论数 0

js防抖 和节流函数

最近搞了一个input 输入框 自动完成的效果 大概效果如下链接: http://www.jq22.com/jquery-info438 然后我是用keyup() 方法监听的input 输入框的值,只要键盘抬起就会去请求接口!所以啊,频率太快,恶心至极。所以要想办法搞丫的一下。不然看着太难受。也影...

2018-12-20 21:55:36

阅读数 36

评论数 0

移动端使用localResizeIMG4压缩图片并上传

现在的移动端前端开发上传图片的功能太常见了,一般的情况下我们都是用input 标签来搞,或者是在网上找一些现成的图片上传插件来做。但是有的插件代码量确实比较多。依赖也比较多。 而且移动端图片上传和pc 端图片上传还是有点差别的,如果涉及到几M大的图片在pc端上传感觉没什么,但是在移动端的话,因为图...

2018-12-20 21:35:05

阅读数 253

评论数 0

使用URLSearchParams处理 fetch 发送的数据

众所周知,前端开发工作中肯定要涉及到和后端的交互,现在最常用到的就是 jq 的ajax 和 axios ,fetch 这三个。最近在用ant design pro 搞一个后台。里边用到的是fetch。 使用这些插件的时候我们经常会碰到一些问题,比如说传过去的数据格式不正确。 首先我们来看下jq 的...

2018-12-19 21:33:09

阅读数 167

评论数 0

js 一些项目中常用的原型方法整理

这个文件一般可以直接复制到项目中,用来做utils 文件,里边包含了 Date , Number, String, Array 对象上封装的常用方法,具体请看注释!如果要拿去做项目的 utils 文件,可以把这些方法写在一个立即执行函数中,避免污染全局空间 function Utils() {};...

2018-12-16 18:05:12

阅读数 103

评论数 0

js 打印 A-Z 字母

首先我们先看下这篇文章。 unicode编码表 A-Z,a-z,0-9的unicode编码表:http://www.manew.com/blog-166385-34922.html 通过这个表我们可以发现字母A-Z 的字母Unicode 编码 十进制的数字是 65–90 js string 对象下...

2018-12-13 22:41:09

阅读数 112

评论数 0

js 二维数组转一维数组

var arr1 = [[0, 1], [2, 3], [4, 5]]; var arr2 = arr1.reduce(function (a, b) { return a.concat(b)} ); console.log(arr2); 结果如下图

2018-12-05 19:28:18

阅读数 65

评论数 0

js 一维数组转二维数组

废话不多说直接上代码 var arr = ['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15']; var newArr = []; var len = arr.length; for(let i = 0, j...

2018-12-04 23:34:13

阅读数 170

评论数 0

js为Object对象动态添加属性和值

为Object对象动态添加属性和值 方式1: var obj = {}; //或者 var obj=new Object(); var key = "name"; var value = "张三丰" obj[key] = va...

2018-11-08 22:11:35

阅读数 155

评论数 0

js 创建对象的几种方式总结

第一种 构造函数创建 var Person = new Object(); Person.name = 'nike'; Person.age = 29; console.log(Person) 这串代码创建了Object 引用类型的一个新实例,然后把实例保存在P...

2018-10-26 21:37:10

阅读数 28

评论数 0

前端框架中 MVVM 框架的理解

首先在这里说一下框架和库的区别 框架是提供了前端项目的整体解决方法。包括组件,方法,路由,我们只要遵循这套框架的机制去开发就可以! 库就是我们组合起来实现项目,库里边封装了一些方法,我们用这些方法来开发项目(提供的一些工具) 下边来说一下MVVM 我是怎么理解的 MVVM 最早是微软提出来的,他借...

2018-10-23 23:21:37

阅读数 204

评论数 0

js this指向和如何修改this 指向

this是js中的一个关键字,函数运行时自动生成的一个内部对象。 this 的指向在函数被定义的时候是确定不了的,只有在函数被调用的时候才能确定this 到底指向谁, 实际上,this 的最终指向的是调用这个函数的对象。 下面介绍一下几种情况下,this的指向 1、全局环境 全局环境下,this就...

2018-10-23 23:12:35

阅读数 139

评论数 0

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