js常见问题
未知lxf
这个作者很懒,什么都没留下…
展开
-
如何判断一个对象是否为空,数组中是否存在某值
判断对象是否为空,代码如下//方法一:判断是否存在属性var obj={};for(var key in obj){ console.log(key);}//方法二:判断其对应的jsonvar obj={};var json1=JSON.stringify(obj);console.log(json1);//{}//方法三:通过Object.keys 该方法会遍历对象...原创 2020-04-25 16:12:04 · 1355 阅读 · 0 评论 -
js中for in ,for of,foreach,map和filter的区别
for infor in 可以用来遍历数组和对象,但是值得注意的是for in遍历的是其索引或者属性,for in 更适合用来遍历对象,代码如下://for in 遍历数组,操作的是其索引值var arr=['tom','jack','john'];for(var i in arr){ console.log(i);//0,1,2}//for in 遍历对象,操作的是...原创 2020-04-25 14:47:14 · 341 阅读 · 0 评论 -
了解null和undefined
undefined表示的是缺少值,常见输出undefined的情况有以下几种://1.变量被声明,但是没有赋值var num;console.log(num);//undefined//2.执行count时,没有传入参数function count(num){ console.log(num);//undefined}count();//3.声明对象,获取对象没有赋...原创 2020-04-15 17:40:04 · 160 阅读 · 0 评论 -
js中函数的防抖(debounce)和节流(throttle)
什么是防抖和节流?防抖:当持续触发事件时,一定时间内没有在触发事件,事件处理函数才会执行一次,如果设定的时间到来之前又一次触发了时间,就重新开始延时(常配合settimeout使用),例如鼠标移入一个弹窗上时,弹窗始终显示,离开3s之后执行消失;节流:当持续触发事件时,保证一定时间段内只调用一次事件处理函数(配合时间戳和定时器来实现),例如:拖动一个物体移动,控制3s之后才获取物体位置信息...原创 2020-04-15 17:04:26 · 155 阅读 · 0 评论 -
初识浏览器的强缓存和协商缓存
什么是浏览器缓存,为什么要缓存:浏览器缓存是将浏览器初次加载的文档保存到本地磁盘中,当浏览器再次请求文档的时候可以直接从本地进行加载;所以通过浏览器缓存可以减少和服务器的请求,降低服务器负担,减少冗余数据的传输,从而加快客户端的加载速率;什么是强缓存和协商缓存?强缓存:利用http头中的Expires和Cache-Control俩个字段来表示资源缓存时间,普通刷新会忽略它,但是不会清除...转载 2020-04-13 19:42:21 · 147 阅读 · 0 评论 -
js中函数声明和函数表达式的区别
函数声明:在js解析的时候进行函数提升,所以在同一个作用域内,不管函数声明在哪里定义,该函数都可以调用;函数表达式:在js运行时确定,并且在表达式执行完之后才可以调用;一、调用方式:通过俩段代码来更直观的描述://函数声明funDeclaration('前——调用');function funDeclaration(value){ console.log('当前执行的是:...原创 2020-04-13 17:24:18 · 109 阅读 · 0 评论 -
浅谈js的深拷贝和浅拷贝,基本数据类型和引用数据类型,堆存储和栈存储的区别
要理解深拷贝和浅拷贝得先明白一些基本概念一、js中基本数据类型和引用数据类型有那些,俩者有何区别基本数据类型:string,number,boolean,null,undefined;引用数据类型:array,object,function;要理解基本数据类型和引用数据类型的区别,必须先明白堆(heap)存储和栈(stack)存储的区别:栈(stack)存储会自动的分配内存空间,...原创 2020-04-13 16:06:58 · 135 阅读 · 0 评论 -
js常见笔试题及其相关知识点(一)
promise:race与all:race哪个回调先执行完接受哪个回调的参数,all全部回调成功执行完之后,接受所有的返会数据reject与resolve:前者失败时执行,后者成功时执行then与catch:俩者属于并行执行方法,then里面可以包含俩个回调方法,第一个是resolve成功回调,第二个是reject失败回调;catch不仅可以执行reject时的参数也可以捕获then里...原创 2019-11-05 15:11:25 · 199 阅读 · 0 评论 -
js为li添加点击事件,并且输出当前li点击的值
在使用js开发过程中,经常会遇到这样一个问题“如何对多个li添加onClick点击事件,并且输出点击对象的当前内容”。这是我们就想到了常用的for循环,如下图所示:直接输出当前点击对象的内容通过运行会发现依次点击li分别会弹出0,1,2;由这类问题会引发一系列的问法,如果我们alert的是当时循环中的i值会出现什么情况:直接输出循环中的i值此时通过运行会发现无论点击那个li...原创 2019-03-07 16:09:37 · 14581 阅读 · 0 评论 -
js中数组除重方法大全
Array类型是js中的三大引用类型之一;Array中的每一项都可以用来保存任何类型的数据,所以在数组除重过程中就得考虑周全,下面将要介绍几种数组除重方式:(1)由于indexOf对数组又循环了一次,所以性能不是最佳,加之indexOf在ie9以下不兼容;(2) 由于哈希表,吧已经出现过的元素通过下标存入object内,下标的引用数据较快;(3)通过数组排序,然后比较相邻的...翻译 2018-11-15 16:06:56 · 176 阅读 · 0 评论 -
js的常见数据类型
JavaScript常见的数据类型有哪些?如何准确检测数据类型?常见的引用类型有哪些?js有六种数据类型,包括五种基本类型(Number,String,Boolean,Undefined,Null)和一种复杂的数据类型(Object);js有三大引用类型,Object类型,Array类型,Function类型;由于js中的变量是松散类型的,所以可以通过关键字typeof关键字精确检测数...原创 2018-11-15 15:17:35 · 405 阅读 · 0 评论 -
cookies,sessionStorage,localStorage的相同点和不同点
js中常见的存储方式是什么?有什么相同点和不同点?在js中有三种存储方式,cookies;sessionStorage;localStorage;相同点:三种都存储在客户端。不同点:1. 存储大小cookie:存储的数据大小不能超过4k;sessionStorage和localStorage:存储大小可以达到5M或者更多,只能存储字符串类对象,如果想要存储其他,需要对其...原创 2018-11-06 15:35:18 · 344 阅读 · 0 评论