置顶文章
精选分类
前端
技术设计心得
思维照片
高质量精选kotlin
技术设计文章列表
JS 获取时区
# 啥是时区?
时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的外置(时角)决定时间,这就使得不同经度的地方的时间各有不同,为了统一使用同一个时间,就引入了时区的概念。时区通过设立一个标准时间部分地解决了这个问题。世界各国位于地球的不同位置,因此不同国家,特别是东西跨度大的国家日出、日落时间必定有偏差,这些偏差就是时差。
# 表示
协调世界时(UTC)是最主要的世界时间标准,其以院子时秒长为基础,在时刻上尽量接近于格林威治标准时间。协调世界时是世界上调调节时钟和时间的主要标准。如果时间是以协调世界时(UTC)表示,则在时间后面加上 “Z”,“Z” 是协调世界时中 0 时区的标志。UTC 时间也叫祖鲁时间,因为在北约音标字母中用 “Zulu” 表示 “Z”。
UTC 偏移量的表示形式为:±[hh]:[mm]、±[hh][mm] 或者 ±[hh]。比如北京时间比协调世界时(UTC)早八小时,那么应当表示为:UTC+8。
JavaScript 获得当前客户端的时区
对象是 ECMAScript 国际化 API 的一个命名空间,它提供了精确的字符串对比、数字格式化和日期格式化。我们需要使用这个 API 的DateTimeFormat
对象。具体可以参考:MDNIntl.DateTimeFormat
获得客户端当前时区:
Intl.DateTimeFormat().resolvedOptions().timeZone // 'Asia/Shanghai' |
js 判断滚动到底部
JavaScript 判断手机端和pc端
# Navigator 对象:
navigator 对象包含有关浏览器的所有信息,且支持所有浏览器。
navigator 对象有一个属性为 userAgent,这是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。所以我们可以通过判断 navigator.userAgent
里面是否包含某些值来判断。
vuejs 失去焦点,单击全局隐藏某些浮动元素
# vue
created() { | |
document.addEventListener('click', this.clickOutsideEvent) | |
}, | |
destroyed() { | |
document.removeEventListener('click', this.clickOutsideEvent) | |
}, | |
methods: { | |
clickOutsideEvent(e) { | |
// console.log(this.$el.contains(e.target)) | |
if (!this.$el.contains(e.target)){ | |
this.handleOperater = false | |
} | |
} | |
} |
ElementUI MessageBox 适配移动端,修改宽度
git之rebase和cherry
JavaScript运行机制,从浏览器多进程到JS单线程
# 前言
见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。
最近发现有不少介绍 JS 单线程运行机制的文章,但是发现很多都仅仅是介绍某一部分的知识,而且各个地方的说法还不统一,容易造成困惑。 因此准备梳理这块知识点,结合已有的认知,基于网上的大量参考资料, 从浏览器多进程到 JS 单线程,将 JS 引擎的运行机制系统的梳理一遍。
展现形式:由于是属于系统梳理型,就没有由浅入深了,而是从头到尾的梳理知识体系, 重点是将关键节点的知识点串联起来,而不是仅仅剖析某一部分知识。
内容是:从浏览器进程,再到浏览器内核运行,再到 JS 引擎单线程,再到 JS 事件循环机制,从头到尾系统的梳理一遍,摆脱碎片化,形成一个知识体系
目标是:看完这篇文章后,对浏览器多进程,JS 单线程,JS 事件循环机制这些都能有一定理解, 有一个知识体系骨架,而不是似懂非懂的感觉。
另外,本文适合有一定经验的前端人员,新手请规避,避免受到过多的概念冲击。可以先存起来,有了一定理解后再看,也可以分成多批次观看,避免过度疲劳。
getCurrentInstance详解
我们可以通过 getCurrentInstance 这个函数来返回当前组件的实例对象,也就是当前 vue 这个实例对象,下面这篇文章主要给大家介绍了关于 Vue3 组合式 API 之 getCurrentInstance 的相关资料,需要的朋友可以参考下