如何写一个日历组件
慎重用for...in与for...of
for...in
和for...of
都是用于数据的遍历。for...in
是ES5
标准,用于遍历对象属性(键),而for...of
是ES6
标准,是对for...in
的修正,用于遍历对象元素(值),for...of
兼容性不是很好(除了PC端老顽固IE
之外,移动端某些安卓机和浏览器也是不支持它,具体可以查看MDN)。
for…in
1 | Object.prototype.objMethod = function() {}; |
H5的Notification特性 - Web的桌面通知功能
目前,
web
网页使用桌面通知功能的越来越多,包括微博,腾讯视频等大厂站,桌面通知功能是H5
的一个API
-Notifications
。它允许网页或应用程序可以发出通知,通知将被显示在页面之外的系统层面上(通常使用操作系统的标准通知机制,但是在不同的平台和浏览器上的表现会有差异),这样即使应用程序空闲或在后台也可以向用户发送信息。
应用场景
Notifications
的诞生简化了网站或者应用与用户之间的沟通成本(时间成本和开发成本),增强用户黏性(减少了用户离开应用的可能)。传统的通知方式,大多是通过站内信(消息),邮件,短信等方式,它们通常需要刷新(跳转)页面、离开应用打开其他应用或终端来查看消息;而桌面通知功能大大的简化了这个过程,消息的传递基本不消耗时间(如果不设置setTimeout
,用时基本不会超过1s
),并且用户不需要离开应用,这都带来了极大的方便。可以预见,Notifications
将会在很多网页或应用中被大量使用。当然Notifications
也具有它的局限性:无法存档、即看即毁
那么,这个功能到底能用在哪些场景呢?只能说能应用的场景很多:
前端测试探索
前端测试是保证代码质量以及程序稳定的一种可靠方式,同时也从代码层面解决了自测难,自测烦等前端测试综合症。当然在前端开发引入测试环节无疑会增加人力和时间成本,如果最终产生的结果和增加的成本能够两两抵消产生正面效应,那么有必要考虑把测试环节加入到团队的规划中。但是在实际开发过程中,测试用例更多的被用于开源项目中,在大部分公司的生成项目很少使用维护测试用例,其根本原因是不纯粹的生产环境导致维护测试用例变得困难,而目的性很强的开源项目则更纯粹,所以前端测试的发展任重而道远。
Ps:本次更多的是讲述概念性的东西,代码性的具体实例不做过多实践
node和npm版本管理器nvm的安装和使用
Git系列之常用命令(一)
Babun导致本地SSH-KEY不可用
Babun是一款集颜值功能于一身的window平台下的命令行工具。它集成了zsh、Cygwin等强大的工具,支持各种配置,并且有丰富的插件支持;并且有丰富的命令和命令提示功能,以及超级棒的历史命令提示。
ps: 前文有我记录的关于Babun
的一些特点,以及使用,请看windows平台下超强的cmd工具Babun使用笔记一文
问题描述
Javascript常用见问题之变量类型判断终极篇
类型判断是我们在编程中常遇到的棘手问题,严格的变量类型约束会为代码减少很多致命的BUG。本文是对常用到的类型判断的一个整理,以求以最简洁的方式来判断变量的类型。
本文所有的如果没特指,都是基于ES5的原生javascript
变量的基本类型
JavaScript
变量包含两种不同的数据类型的值:基本类型和引用类型。基本类型是指简单的数据,有Number
、String
、Boolean
、Undefined
、Null
(null可以算作是一个特殊的基本数据类型),而引用类型指那些可能包含多个值的对象,有Object
、Array
、Date
、RegExp
、Function
等。在JavaScript
中,我们通过var
来声明变量,由于JavaScript
弱语言类型,我们无法在申明的时候规定他的类型,JavaScript
变量的类型是随变量的值改变而改变的。为了代码的安全性,在有些情况下我们要判断变量值的类型,如何正确的判断变量的类型就成了一个比较有深度的问题。下图列举一些常见的类型: