搞懂Javascript闭包概念(二) 这是闭包系列的第二章,第一章只是囫囵吞枣般的记笔记,根本没多深入理解,最近在看了MDN上关于闭包的文章以及B站几个闭包视频后有了些许理解,于是用小本本记下来。 首先我们先来理解几个概念作用域 作用域就是变量与函数的可访问范围。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 123456789101112let a = 1; // 定义一个全局变量,全局变量在js文件任意位置 2021-01-31 JS技巧 #JS技巧
一些优雅的代码 这里用来收藏一下看到的优雅的、惊为天人的代码 json array 过滤指定的属性12345678910111213141516171819202122232425262728293031323334// 原始值let data = [ { "id": "1234", "key1": " 2021-01-26 JS技巧 > 代码片段 #JS技巧
小程序踩坑指北 iOS端border-radius失效一般我们想设置圆角,都是父元素设置border-radius然后overflow:hidden,然鹅iOS上这个基础属性却并不是支持的很好,需要hack一下。 123456789// 给父元素加上如下属性即可.father_wrapper { border-radius: 50%; overflow: hidden; -webkit 2020-11-21 #小程序
检查嵌套对象属性是否为空的优雅方法 在项目中经常会遇到这样的情况,要对对象下的属性进行操作,由于js里面访问undefined或者null的成员会报错,所以我们一般a && a.b && a.b.c这么实现。可是如果属性嵌套层级很多呢?一直写&&判断?显然,不,就是不优雅。 下面就是几种优雅的检查嵌套对象属性是否为空的方法~~~ 使用极为先进的Lodashlodash文档 123456 2020-10-15 JS技巧 #JS技巧
css最强布局方案-grid 前言flex已经强大到足够实现很多种布局方案了,为什么又出来一个新的布局方案grid呢?一个新的技术的出现必然是为了解决现有技术的不足之处的。与flex的一纬布局不同,grid布局是一个二维布局系统,也就意味着它可以同时处理列和行。 通过一个示例来窥探grid的神奇之处 实现这样一个经典布局 grid有着更加语义化的属性,可以让我们像搭积木一样进行的网页布局。gri 2020-08-26 CSS相关 #CSS相关
文字超出显示省略号最全攻略 单行文本溢出省略123overflow: hidden;text-overflow: ellipsis;white-space: nowrap; 优点: 无兼容问题 响应式截断 文本溢出范围才显示省略号,否则不显示省略号 缺点: 只支持单行文本截断 适用场景: 适用于单行文本溢出显示省略号的情况 多行文本溢出省略12345678910-webkit-line-clamp: 2;/* 2020-08-05 CSS相关 #CSS相关
css实现帧动画 一般项目里面需要用的类似gif动效的地方,我都是让ui直接切好图片给我的,要是他们知道可以用css实现会不会打死我(逃… 话不多说,先上个demo,这两个动画都是纯css实现的哦,甚至没有js的参与,是不是如丝滑般流畅… 下面我们来分析一下如何实现css帧动画 巧妇难为无米之炊,我们需要类似这张的素材,当然还是需要ui小姐姐帮忙了 让他动起来的原理,利用 keyframes,修改背景图的 ba 2020-07-07 CSS相关 #CSS相关
小程序常用操作 setData操作优化避免列表数据全局刷新、局部更新单条数据1234567891011121314151617this.setData({ 'ceng.show': false})this.setData({ ['people[' + index + '].age']: 25})// 也可以写成 2020-05-11 #小程序
小程序性能优化 我们先来看看小程序官方性能指标,小程序官方针对小程序性能表现制订了权威的数值指标,主要围绕 渲染表现、setData 数据量、元素节点数 和 网络请求延时 这几个维度来给予定义(下面只列出部分关键指标): 首屏时间不超过 5 秒; 渲染时间不超过 500ms; 每秒调用 setData 的次数不超过 20 次; setData 的数据在 JSON.stringify 后不超过 256kb; 页面 2020-05-11 #小程序
TypeScript知识点记录 1、变量定义在ts中:(冒号)后面都是在声明类型,要牢记 1.1 定义基本数据类型12345678910111213141516171819202122let isone: boolean = false;let age: number = 18;let str: string = 'str';let str1: string = `hello ${str} 2020-05-07 TypeScript #TypeScript