置顶文章

1.8k 2 分钟

还记得所有 AI 教程必提的「奥卡姆剃刀原则」吗?即:如无必要,勿增实体。这条原则也被收藏,还有一些不太常见的费茨法则、盖尔定律、康威定律等,都被一一收入囊中。

精选分类

文章列表

1.1k 1 分钟

# 啥是时区?

时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的外置(时角)决定时间,这就使得不同经度的地方的时间各有不同,为了统一使用同一个时间,就引入了时区的概念。时区通过设立一个标准时间部分地解决了这个问题。世界各国位于地球的不同位置,因此不同国家,特别是东西跨度大的国家日出、日落时间必定有偏差,这些偏差就是时差。

# 表示

协调世界时(UTC)是最主要的世界时间标准,其以院子时秒长为基础,在时刻上尽量接近于格林威治标准时间。协调世界时是世界上调调节时钟和时间的主要标准。如果时间是以协调世界时(UTC)表示,则在时间后面加上 “Z”,“Z” 是协调世界时中 0 时区的标志。UTC 时间也叫祖鲁时间,因为在北约音标字母中用 “Zulu” 表示 “Z”。
UTC 偏移量的表示形式为:±[hh]:[mm]、±[hh][mm] 或者 ±[hh]。比如北京时间比协调世界时(UTC)早八小时,那么应当表示为:UTC+8。

JavaScript 获得当前客户端的时区
对象是 ECMAScript 国际化 API 的一个命名空间,它提供了精确的字符串对比、数字格式化和日期格式化。我们需要使用这个 API 的 DateTimeFormat 对象。具体可以参考:MDN Intl.DateTimeFormat

获得客户端当前时区:

Intl.DateTimeFormat().resolvedOptions().timeZone // 'Asia/Shanghai'

1.7k 2 分钟

// 判断标准:窗口高度 + 滚动条位置 >= 页面高度 /* -------------------------------------------- */ // 原生JS 判断整个文档滚动至底部 window.onscroll = ()=>{ // 窗口高度 var windowHeight = document.documentElement.clientHeight || document.body.clientHeight; // 页面高度 var documentHeight =...
5.4k 5 分钟

navigator 对象包含有关浏览器的所有信息,且支持所有浏览器。

navigator 对象有一个属性为 userAgent,这是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。所以我们可以通过判断 navigator.userAgent 里面是否包含某些值来判断。

482 1 分钟

# 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
		}
	}
}

339 1 分钟

1、Element ui 默认的宽度是 420px 在移动端长度太长,需要审批 2、解决方案 this.$confirm('请先确认签名是否正确,一旦签名成功,无法撤销?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning', customClass: 'msgbox'}).then(() => {}).catch(e...
2.5k 2 分钟

# 设置 git alias 使用 git alias 可以极大地提高效率,我常用的有 git config --global alias.co checkoutgit config --global alias.br branchgit config --global alias.ci commitgit config --global alias.st statusgit config --global alias.unstage 'reset HEAD --'git config --global alias.last 'log -1 HEAD'git...
14k 13 分钟

# 前言

见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。

最近发现有不少介绍 JS 单线程运行机制的文章,但是发现很多都仅仅是介绍某一部分的知识,而且各个地方的说法还不统一,容易造成困惑。 因此准备梳理这块知识点,结合已有的认知,基于网上的大量参考资料, 从浏览器多进程到 JS 单线程,将 JS 引擎的运行机制系统的梳理一遍。

展现形式:由于是属于系统梳理型,就没有由浅入深了,而是从头到尾的梳理知识体系, 重点是将关键节点的知识点串联起来,而不是仅仅剖析某一部分知识。

内容是:从浏览器进程,再到浏览器内核运行,再到 JS 引擎单线程,再到 JS 事件循环机制,从头到尾系统的梳理一遍,摆脱碎片化,形成一个知识体系

目标是:看完这篇文章后,对浏览器多进程,JS 单线程,JS 事件循环机制这些都能有一定理解, 有一个知识体系骨架,而不是似懂非懂的感觉。

另外,本文适合有一定经验的前端人员,新手请规避,避免受到过多的概念冲击。可以先存起来,有了一定理解后再看,也可以分成多批次观看,避免过度疲劳。

1.5k 1 分钟

我们可以通过 getCurrentInstance 这个函数来返回当前组件的实例对象,也就是当前 vue 这个实例对象,下面这篇文章主要给大家介绍了关于 Vue3 组合式 API 之 getCurrentInstance 的相关资料,需要的朋友可以参考下