java鼠标指针锤子,写个锤子JS!它应该是你最后的选择
本文翻译自:
https://dev.to/olpeh/javascript-should-be-your-last-resort-5dje
在进行现代化Web前端开发时,使用着自己最爱的框架,有时候可能会情不自禁地用JavaScript解决所有的问题。很多时候这是无意识的,因为你日复一日的开发工作使用的正是JS。
这类似于亚伯拉罕·马斯洛(Abraham Maslow)在1966年描述的情况:
如果你仅有的工具是锤子,那么你就会不自禁地把所有东西都当作钉子。
——维基百科:Law of the instrument
图片来自Unsplash,作者FaustoMarqués
注意:在这篇文章中,我只谈论JS,尽管我在项目中使用的主要是TS——但最终,在编译后,都变成了JS。
实现UI时要考虑的因素
在所有情况下都使用JS的这种思维方式会产生不必要的处理负担,这些额外的JS操作都需要在最终用户的设备上运行。网站上的所有JS资源都需要通过网络浏览器下载、解析和执行。这通常是导致低端移动设备上的网站速度变慢和无响应,或使得网络速度变慢的原因。
那么我们应该如何走出思维困局:
是否可以用HTML完成?
如果不能,那么用HTML + CSS可以解决吗?
如果其他都没有效果,那么解决方案除了HTML和CSS之外,可能需要少量的JS。
这种思维方式对开发人员来说并不是一件易如反掌的事。可能你是一个关注JavaScript的前端开发人员,那么用这种方式解决大多数问题对你来说像呼吸一样自然。但是,你还得考虑你的最终用户。当涉及到Web性能时,客户端JS作为最大的问题一骑绝尘。
1. 是否可以用HTML完成?
计划和实现功能的基本结构和语义,先考虑是否可以使用纯HTML,而无需任何额外的样式和使用本机HTML元素和功能。如果需要一些其他样式或功能,则转到步骤2。
2.尝试使用HTML + CSS解决
使用CSS来应用所需的其他样式或动画,同时在脑海中谨记语义和可访问性。如果你要构建的特定UI片段中需要有一些额外的互动,则转到步骤3。
3.使用HTML + CSS + JS
添加满足要求所需的最少JS代码量。请记住,如果不用JS就可以解决问题,那么就应该不要用到JS。
完成后,向同事展示代码,让他们进行审核。这样的话,如果代码中还有些不必要的部分,那么就可以解决这些问题而不给用户增加客户端JS成本。
举个简单的例子
所举的这个例子,发生于Web前端开发中的几乎所有部分,但此处是一个简单的示例,用来证明我的观点。
假设你正在开发一个React项目,而你正在开发的功能具有一些UI部件,这些UI部件只有在一定的延迟(例如2秒)之后才可见。
使用React Hooks
如果.........
java鼠标指针锤子,写个锤子JS!它应该是你最后的选择相关推荐
- java鼠标指针锤子,如果用4个技能打不过他,那就用7个
本篇攻略重制于[2020.3.25]对应版本[10.06] 内容/整理[冬雨] 封面[南烛子] 全文约2412字,阅读需7分钟 今天要给大家讲解的英雄是未来守护者杰斯.杰斯集消耗与爆发于一体,同时具备 ...
- java鼠标指针锤子,java线程工具走出锤子敲铁皮时代。
长期以来,我都觉得多线程的使用是重要而又较难掌握的,要用的时候现看,下次用的时候忘记了,又要现看,这可能跟我长期从事的是Application Server中,某种固定架构下的编程,平时并不太需要自己 ...
- java鼠标指针锤子_深入剖析锤子onestep代码实现 - 上篇
OneStep的四大功能 自身设置 设置(添删图标,图标排序),onestep模式进入.退出 应用切换 启动.切换应用,包括联系人图标,直达联系人对话页面 拖拽分享 拖拽图片.文字到侧边栏图标,然后分 ...
- JavaScript中改变鼠标指针样式的方法
JavaScript中改变鼠标指针样式的方法 在js中我们可以通过style对象的cursor属性来设置鼠标指针的样式,例 var body = document.querySelector(&quo ...
- android java 指针_Android中用Java代码模拟鼠标指针(可显示于整个系统界面之上)...
Android有几款平板是有USB接口,连上鼠标后,界面上面就会出现一个鼠标指针,然后就可以用鼠标代替手势操作平板了,最近有项目需要用到鼠标指针,但是苦于不知道怎么调出系统的鼠标指针,所以只能用代码去 ...
- swing jtable显示html,Java Swing:基于鼠标指针下的文本显示JTable中的工具提示
我有一个JTable,其中显示一些使用html格式化的字符串数据.我需要显示鼠标指针Java Swing:基于鼠标指针下的文本显示JTable中的工具提示 在鼠标移到"线路1"和& ...
- java获取鼠标在屏幕中的位置 方法一_Java如何获取鼠标指针的位置?
MouseInfo 提供获取有关鼠标信息的方法,例如鼠标指针的位置和鼠标按钮的数量.package org.nhooo.example.awt; import java.awt.*; public c ...
- Android中用Java代码模拟鼠标指针(可显示于整个系统界面之上)
Android有几款平板是有USB接口,连上鼠标后,界面上面就会出现一个鼠标指针,然后就可以用鼠标代替手势操作平板了,最近有项目需要用到鼠标指针,但是苦于不知道怎么调出系统的鼠标指针,所以只能用代码去 ...
- 【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )
文章目录 一.鼠标滚轮缩放的中心点设置为当前鼠标中心点 - 要点分析 1.保存当前鼠标指针指向的位置 2.根据鼠标指针指向的位置以及比例重新计算图片位置 二.绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩 ...
最新文章
- linux存储--inode与block详解(七)
- 两种计算和输出n内5要么9除尽互惠
- JVM的监控工具之jinfo
- Laravel 查询某天数据 whereDate
- location驱动包_Zynq SDK 驱动探求(三):论一个外设驱动的全部身家·Xilinx SDK 驱动源码结构...
- python程序打完后怎么保存_如何保存要在之后使用的值应用程序执行()在python中退出?...
- 用python绘制玫瑰花的代码_python也能玩出玫瑰花!程序员的表白代码
- 黑客攻防技术宝典Web实战篇第2版—第9章 攻击数据存储区
- HYSBZ/BZOJ 1007 [HNOI2008] 水平可见直线 - 计算几何
- ffmpeg php centos,Centos安装ffmpeg插件
- 使用 Xilinx Documentation Navigator 查看官方文档
- html的canvas代码,HTML
- java 回车表示_Java 换行和回车
- sony a7 android,摄影 篇一:SONY A7R4利用ftp传输直传照片到安卓设备,完爆app体验
- git冲突产生原因_Git 常见问题 冲突原因分析及解决方案
- 设计方案,写了才知道有多香
- java excel 合并单元格
- Vue.component的属性
- postfix+dovecot+openldap+extmail+spamassassin+M...
- django项目支持外网访问--花生壳