- 博客(20)
- 收藏
- 关注
原创 如何判断一个对象是否为空,数组中是否存在某值
判断对象是否为空,代码如下//方法一:判断是否存在属性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
1329
原创 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
311
原创 js中关于json中JSON.parse以及JSON.stringify方法详解
在项目开发过程中,经常用到json对象,那么了解json中的相关api就变得特别重要,接下来我将会通过代码展示json内容的创建,修改,删除,以及和字符串的转换过程:什么是json:JSON(JavaScript Object Notation)是一种轻量级的数据交互格式,json的基本结构是什么样的://定义一个常见的json对象var jsonValue= { "pro...
2020-04-16 15:39:33
644
原创 了解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
146
原创 js中函数的防抖(debounce)和节流(throttle)
什么是防抖和节流?防抖:当持续触发事件时,一定时间内没有在触发事件,事件处理函数才会执行一次,如果设定的时间到来之前又一次触发了时间,就重新开始延时(常配合settimeout使用),例如鼠标移入一个弹窗上时,弹窗始终显示,离开3s之后执行消失;节流:当持续触发事件时,保证一定时间段内只调用一次事件处理函数(配合时间戳和定时器来实现),例如:拖动一个物体移动,控制3s之后才获取物体位置信息...
2020-04-15 17:04:26
141
转载 初识浏览器的强缓存和协商缓存
什么是浏览器缓存,为什么要缓存:浏览器缓存是将浏览器初次加载的文档保存到本地磁盘中,当浏览器再次请求文档的时候可以直接从本地进行加载;所以通过浏览器缓存可以减少和服务器的请求,降低服务器负担,减少冗余数据的传输,从而加快客户端的加载速率;什么是强缓存和协商缓存?强缓存:利用http头中的Expires和Cache-Control俩个字段来表示资源缓存时间,普通刷新会忽略它,但是不会清除...
2020-04-13 19:42:21
135
原创 js中函数声明和函数表达式的区别
函数声明:在js解析的时候进行函数提升,所以在同一个作用域内,不管函数声明在哪里定义,该函数都可以调用;函数表达式:在js运行时确定,并且在表达式执行完之后才可以调用;一、调用方式:通过俩段代码来更直观的描述://函数声明funDeclaration('前——调用');function funDeclaration(value){ console.log('当前执行的是:...
2020-04-13 17:24:18
98
原创 浅谈js的深拷贝和浅拷贝,基本数据类型和引用数据类型,堆存储和栈存储的区别
要理解深拷贝和浅拷贝得先明白一些基本概念一、js中基本数据类型和引用数据类型有那些,俩者有何区别基本数据类型:string,number,boolean,null,undefined;引用数据类型:array,object,function;要理解基本数据类型和引用数据类型的区别,必须先明白堆(heap)存储和栈(stack)存储的区别:栈(stack)存储会自动的分配内存空间,...
2020-04-13 16:06:58
123
原创 js常见笔试题及其相关知识点(一)
promise:race与all:race哪个回调先执行完接受哪个回调的参数,all全部回调成功执行完之后,接受所有的返会数据reject与resolve:前者失败时执行,后者成功时执行then与catch:俩者属于并行执行方法,then里面可以包含俩个回调方法,第一个是resolve成功回调,第二个是reject失败回调;catch不仅可以执行reject时的参数也可以捕获then里...
2019-11-05 15:11:25
178
原创 js为li添加点击事件,并且输出当前li点击的值
在使用js开发过程中,经常会遇到这样一个问题“如何对多个li添加onClick点击事件,并且输出点击对象的当前内容”。这是我们就想到了常用的for循环,如下图所示:直接输出当前点击对象的内容通过运行会发现依次点击li分别会弹出0,1,2;由这类问题会引发一系列的问法,如果我们alert的是当时循环中的i值会出现什么情况:直接输出循环中的i值此时通过运行会发现无论点击那个li...
2019-03-07 16:09:37
14496
原创 使用PostMessage解决跨窗体消息传递
前些天开发项目的时候遇到一个需求,要求在父页面中点击按钮,跳转到子页面,在子页面操作执行完成之后,发布消息通知执行父页面中的方法;由于代码采用TypeScript,所以语法可能和JS有点不同。但是整体方法还是保持一致的,代码中用到的postMessage和addEventListener方法的参数,读者如果不清楚可以自行查阅相关资料;思路:在父页面中,给按钮增加时间绑定,点击执行openC...
2018-11-27 10:38:52
2010
原创 TypeScript和JavaScript的区别
经过一段时间TypeScript项目的开发,总结出TS和JS的不同点:1:TS可以使用JS的所有代码和概念,TS使用类型和接口描述数据;2:TS引入模块的概念,可以对数据,声明,类进行封装;3:TS中引入了类的概念;4:TS为函数提供缺省参数值;5:TS中的数据要求带有明确的数据类型;6:TS通过类型注解提供编译时的静态类型检查;7:TS和JS可以完美兼容,通过使用编译...
2018-11-21 16:10:16
1192
翻译 js中数组除重方法大全
Array类型是js中的三大引用类型之一;Array中的每一项都可以用来保存任何类型的数据,所以在数组除重过程中就得考虑周全,下面将要介绍几种数组除重方式:(1)由于indexOf对数组又循环了一次,所以性能不是最佳,加之indexOf在ie9以下不兼容;(2) 由于哈希表,吧已经出现过的元素通过下标存入object内,下标的引用数据较快;(3)通过数组排序,然后比较相邻的...
2018-11-15 16:06:56
161
原创 js的常见数据类型
JavaScript常见的数据类型有哪些?如何准确检测数据类型?常见的引用类型有哪些?js有六种数据类型,包括五种基本类型(Number,String,Boolean,Undefined,Null)和一种复杂的数据类型(Object);js有三大引用类型,Object类型,Array类型,Function类型;由于js中的变量是松散类型的,所以可以通过关键字typeof关键字精确检测数...
2018-11-15 15:17:35
392
原创 WebGL渲染管线
GPU(图形处理器单元),是显卡的显示核心,之前的渲染管线不可执行着色器程序,称为固定渲染管线;现在能够执行顶点着色器和片元着色器,称之为可编程渲染管线;渲染管线就是一条渲染流水线,总是由下一个功能单元处理上一个功能单元处理后的数据,详细的流程图如下:获得顶点数据后,将数据送入顶点缓冲区,顶点缓冲区将数据(uniform)送入顶点着色器,顶点着色器进行图元装配,图元装配后的数据送入光栅器进...
2018-11-15 10:47:09
933
原创 cookies,sessionStorage,localStorage的相同点和不同点
js中常见的存储方式是什么?有什么相同点和不同点?在js中有三种存储方式,cookies;sessionStorage;localStorage;相同点:三种都存储在客户端。不同点:1. 存储大小cookie:存储的数据大小不能超过4k;sessionStorage和localStorage:存储大小可以达到5M或者更多,只能存储字符串类对象,如果想要存储其他,需要对其...
2018-11-06 15:35:18
329
原创 react中的state和props详解
前言React中数据的流向是自顶向下(从父组件到子组件)单向流动的,数据主要存储在State和Props中,接下来将会详细介绍这俩个属性的作用;statereact通过调用setState(data,callback)这个方法,通过改变state的值来控制用户界面的改变,用户界面会随着state的变化而重新渲染,渲染结束后会调用callback方法进行回调,callback回调可有可无...
2018-10-26 14:20:09
1010
原创 react中使用antdesign中form组件,动态设置Input的值
问题:在使用Antdesign的form组件时,通过initialValue来设置Input的值,在form未验证之前,可以通过initialValue来对input赋值,但是form验证之后,虽然state中存在值,但是不能在input中显示,form也不能再次提交,代码如下所示:错误示例解决方案:不通过initialValue来设置Input中的值,改用this.p...
2018-10-25 19:56:59
12895
4
原创 react生命周期
React的生命周期分为三个阶段:1.初始化阶段 2.更新阶段 3.销毁阶段一,初始化阶段(1)方法:getDefaultProps();作用:作用于组件类,只调用一次,获取默认的props,也可以用dufaultProps设置组件的默认属性;注意:全局调用一次,不可使用setstate;(2)方法:getInitialState();作用:作用于组件实例,实例创建时调用一遍,用于...
2018-10-25 14:12:39
281
原创 使用Ant Design的From表单时,出现 From getFieldDecorator undefined的问题
使用getFieldDecorator对组件内容进行onChange监听时,出现From getFieldDecorator undefined错误提示,解决方案:(1)首先需要对类进行LoginFrom=Form.create({})(LoginFrame)封装;(2)如果还提示相同错误,尝试将export class LoginFrame extends React.Component...
2018-10-12 14:40:50
2462
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人