- 博客(77)
- 收藏
- 关注
原创 浏览器本本地存储 WebStorage:sessionStorage和localStorage
sessionStorage和localStorage
2023-07-30 11:57:28
139
原创 vue中,父子组件传递参数 props 实现方式
列表数据在父组件,循环的ul>li在子组件,现在在组件删除数据,需要通知父组件。001:父组件=====》子组件通信。002:子组件=====》父组件通信。(要求父组件先给子组件一个函数)003 传递 多层传递下去。
2023-07-29 17:19:20
730
原创 你在前端有做过哪些性能优化
可以使用的img的srcset,根据不同分辨率显示不同尺寸图片,这样既保证显示效果,又能节省宽带,提高加载速度。大模块异步加载,例如:Echarts,可以使用require.ensure,在加载成功后,在显示对应图标。2js用defer放在头部,提高加载时间,又不阻塞dom解析。小模块适度合并,将一些零散的小模块合并一起加载,速度较快。可以使用pefetch预加载,在分布场景中非常适合。代码分割,可以基于路由或动态加载。4.避免行内style样式。webp代替其他格式。2.避免css表达式。
2022-09-25 20:22:44
465
原创 HTTP请求流程
浏览器发起请求-> 解析域名得到ip进行TCP连接 ->浏览器发送HTTP请求和头信息发送->服务器对浏览器进行应答,响应头信息和浏览器所需的内容-> 关闭TCP连接或保持-> 浏览器得到数据数据进行操作。历经千辛万苦,HTTP 的请求信息终于被送达了服务器。接下来,服务器会根据浏览器的请求信息来准备相应的内容。服务端处理HTTP请求流程。
2022-09-22 09:04:57
155
原创 Promise async
async/await是写异步代码的新方式,以前的方法有回调函数和Promise。从功能上来说,Promise用来封装一个异步操作并可以获取其成功、失败的结果值。async/await是基于Promise实现的,它不能用于普通的回调函数。async/await使得异步代码看起来像同步代码,这正是它的魔力所在。async/await与Promise一样,是非阻塞的。Promise是JS中进行异步编程的新解决方案。抽象表达:Promise是一门新的技术。指定回调函数的方式更加灵活。** async 函数**
2022-09-19 12:54:47
359
原创 angular 隐藏路由参数信息
this.routers.navegate([],{ //隐藏路由参数信息 skipLocationChange:true, queryParams:{},})
2022-04-24 15:13:48
224
原创 ng-zorro弹窗示例
<nz-table #basicTable [nzData]="listOfData"> <thead> <tr> <th>Name</th> <th>price</th> <th>Address</th> </tr> </thead> <tbody> &l.
2021-09-25 11:06:52
873
原创 reduce 实现数组对象去重
let aa=[{'age':'11','applyId':1001},{'age':'11','applyId':1002},{'age':'11','applyId':1003},{'age':'11','applyId':1004}];let bb=[{'age':'11','applyId':1001},{'age':'11','applyId':1006}];bb.forEach(item=>{ aa.push(item);})let obj={}a...
2021-09-22 22:54:38
193
原创 前端js判断,某个对象是否为空
let filter = {};let filterIsEmpty = JSON.stringify(filter) == “{}”;if (filterIsEmpty) {// filterIsEmpty为true,即对象为空} else {// filterIsEmpty为false,即对象非空}
2021-09-17 11:17:20
262
原创 rxjs04:subscription
加粗样式import {interval} from 'rxjs';const observable$=interval(1000);const subscription=observable$.subscribe(x=>console.log(x))它其实是observable.subscribe返回的一个对象通常是用来取消一个observable的订阅 //取消订阅之后,就不会再接收到任何值了setTimeout(()=>{ subscription.unsubsc
2021-08-28 23:29:36
116
原创 rxjs03:Observable与Observe
Observable负责从数据源中推送数据,类似Promiseimport { Observable } from 'rxjs';const observable = new Observable(subscriber => { // 推送三个数据 subscriber.next(1); subscriber.next(2); subscriber.next(3);});console.log('before subscribe');observable.subscrib
2021-08-28 22:59:27
504
原创 rxjs02:Observable和Promise的不同点
Observable和Promise的不同点可观察对象是声明式的,在被订阅之前,它不会开始执行。承诺是在创建时就立即执行的。这让可观察对象可用于定义那些应该按需执行的菜谱。class AppComponent { newPromise() { const p = new Promise(resolve => { console.log('initial a promise'); // 立即触发 }); } newObservabl
2021-08-28 22:11:48
127
原创 依赖注入--概念01
什么是依赖注入依赖注入(DI)是一种设计模式, 也有相应的框架,比如InversifyJSAngular 有自己的 DI 框架, DI 框架会在实例化该类时向其提供这个类所声明的依赖项带修饰符的参数在ts中,一个类的参数如果带上修饰符,那个参数就变成了类的实例属性class Mobile { constructor(readonly name: string = '小米') {} logName() { console.log(this.name); }}上面的name有
2021-08-23 22:37:19
123
原创 rxjs01:RXJS初体验
简介Rxjs是一个主要用于处理异步程序的函数式编程库,可以把RXJS想象成处理异步行为的lodash常见的异步行为ajax定时器事件常见的优化异步回调的方式Promiseasync/await函数式编程编程思想的一种,就像面向过程、面向对象一样,比如:const result = (5+6)-2*3函数式的写法const add=(a,b)=>a+bconst mul=(a,b)=>a*bconst sub=(a,b)=>a-bconst result=
2021-08-22 22:34:06
77
原创 forEach arr[i]
var arr=[2,3,4];arr.forEach( function(elem,i,arr){ elem*=2; //并不会改变原数组 })console.log(arr); // [2,3,4]var arr=[2,3,4];arr.forEach( function(elem,i,arr){ arr[i]*=2; })console.log(arr); // 用这种方式可以改变原数组 [4,6,8]原因:forEach会拿着这个函
2021-07-18 20:45:05
268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人