Javascript 最佳实践 10 条建议

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

初级开发人员维护自己开发的产品可能也会是一个噩梦,比如我。过年前写的一个产品因为数据不全的问题一直没有上线,昨天数据库的搞定了,要准备上线了,需要我这边改一下功能,我喵了一眼JS,发现其中一个 drawChart() 的函数就用了1000多行,调用了 D3 的 12 个 API 接口,这就是新手写的代码。。。

为了避免自己被自己写过的代码拖累,今天恶补了 Nicholas 的 《Javascript 高级程序设计》中的第 24 章 —— 最佳实践,整理出了 15 条建议,希望可以牢记在心。

1. 有了合适的命名,代码阅读起来就像讲诉故事一样,更容易理解。如要明确变量的类型,可以使用匈牙利命名法,在变量名前加上类型的缩写。例如字符串的缩写是 "s",字符串变量 "name" 可以命名为 "sname"2. 注意代码的松散和耦合,HTML 用于表示数据,JS 用于定义行为,所以应该将应用逻辑、事件处理程序、常量分离开。主要表现为:一个事件处理程序应该从事件对象中提取相关信息,并将这些信息传送到处理应用逻辑的某个方法中;任何用于显示给用户的字符串都应该抽取出来方便国际化;推荐使用一个公共地方用于存放所有的 URL。

3. 不要为实例或原型添加属性、方法;不要重定义已经存在的方法;不要篡改其他人创建的对象,除非这个对象是你在维护。

4. 最多创建一个全局变量,让其他对象和函数存在其中;单一全局变量的延伸便是命名空间的概念,单一的全局对象可以用公司名来命名,将其看作一个容器,其中定义了其他对象和变量。

5. 在判断语句中避免与 null 进行比较。一般通过 API 接口获取数据后都会检查是否获取到结果,这个时候不要直接拿结果跟 null 比较,而应该先确定 API 提供的数据类型是什么。假设数据类型是数组,那么就要通过 instanceof 来检查其是否是一个数组,而非检查其是否非 null6. 只要能减少花费在作用域链上的时间,就能增加脚本的整体性能,因此,应该避免全局查找。使用全局变量和函数肯定要比局部的开销更大,所以将在一个函数中会用到多次的全局对象存储为局部变量总是没错的。

7. 对象上的任何属性查找都要比访问变量或者数组花费更长的时间,一旦多次用到对象属性,应该将其存储在局部变量中。

8. 当循环的次数是确定的,消除循环并使用多次函数调用往往更快。(但我还是使用循环吧,除非循环两三次)

9. 最小化语句数:避免多个变量声明;使用数组和对象字面量;三元表达式;

10. 开发环境下将每个对象或自定义类型分别放入其单独的文件中;但在生产环境中,应该合并这些文件,还应该压缩合并后的文件,这样做都是为了优化 http 请求和 web 性能。

现在 Javascript 框架比较成熟的,已经形成生态系统的有 Vue.js 和 React.js 和 Angular.js ,都是为了实现代码的模块化,提高性能和提升代码的可维护性和核心功能的扩展性。在实际开发工作中才发现,确实需要掌握这样一个框架,目前在学 Vue.js,不然全部用原生的 jquery 框架拼装太累了,特别是对于数据导向型的产品。

总觉得这个世界好复杂,人类真的是很聪明,我们现在研发产品都是站在巨人的肩膀上,很多底层的细节都不需要接触到,这是许许多多的人穷尽一生不断努力不断研究的成果。我们应该对科技抱有敬畏之心,不是因为现在风口上的人工智能打败了多少不可能,而是因为很多人一辈子的心血都凝聚在其中。

从POI兴趣点获取到ArcGIS中热力图制作 1. POI获取及坐标点转换 POI获取我们要借助下面这个网站↓↓↓ 规划云http://guihuayun.com/poi/ 搜索POI兴趣点并复制兴趣点, 图 新建txt文本文档,粘贴兴趣点 图片 查看后得知,lng为横坐标,lat为纵坐标 文件,另存为csv格式文件,编码为utf—8 打开QGIS,因为我们pol点是从百度地图上获取的,为BD09坐标系,与WGS84有一定偏移【GCJ02:火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。 BD09:为. 阅读详情

相关推荐

uniapp:详细ios本地离线打包完整流程,使用XCode苹果本地离线打包APP,UNIAPP IOS离线打包并上传到上传到App Store应用商店(mac环境 Uniapp iOS本地离线打包)

uniapp ios 本地离线打包(攻略),iOS App打包发布上架,uni-app项目离线打包之iOS,uni-app实现XCode苹果本地离线打包APP,UNIAPP之IOS离线打包,iOS开发打包ipa,uniapp 打包 IOS,uniapp ios app离线打包配置,uniapp打包离线App(ios),uniapp ios打包详细步骤,最新版iOS Xcode如何证书配置和ipa打包(附图文教程)uniapp申请ios证书,uniapp iOS打包,证书申请,XCode打包IOS应用发布Ap

✅ 精选推荐文章 4486

如何学好JavaScript的小建议

在我们第一阶段完成HTML+CSS的学习之后,很多同学都会被第二阶段JS难倒——JS语法、JS数据类型、JS对象,Js给我们的印象总是那么的“复杂”,因为它相比html来说是动态的,是编程语言,更深奥一些。想要熟练掌握js难度很大,不过如果你把知识点梳理清楚,真正的理解并加以运用,你就可以掌握它。那么该如何才能学好JS?在这里给大家总结一些学习Js的经验,希望能对你们有所帮助。 Js有如下的特点,这也是它的魅力所在: 1.脚本语言。 JavaScript是一种解释型脚本语言。首先编译和执行C,C ++和

yang__king的博客 2994

RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络

本文记录的是利用颈部结构优化RT-DETR的目标检测网络模型。利用改进后的颈部网络,通过跳层连接,避免了在进行反向传播时的梯度消失问题,并且引入跨尺度连接,可以实现不同级别和层次的特征充分融合,获取足够的高层语义信息和低层空间信息交换,从而在大规模变化场景下提高检测性能。GIRAFFEDET: A HEAVY-NECK PARADIGM FOR OBJECT DETECTION-GFPN包含了上述的跳层连接(dense-link和log2nlog _{2} nlog2​n-link)以及跨尺度连接(Quee

Limiiiing的博客 2166

JavaScript学习的12建议

不管是前端开发技术还是后端开发技术,在学习中,我们或多或少都会接触到JavaScript。因此,JavaScript正在成长为开发人员必学的编程语言之一。但互联网技术更新迭代如此快的今天,我们如何才能更好的学习、掌握JavaScript技术呢?下面小编就为大家分享下2015年学习JavaScript的12建议,希望对大家的学习有帮助。   1. JS应该放到 .js 文件中        

ydmaizi的博客 502

关于javascript的学习建议

JS的最好办法..是不停的重复练习....其实很多人反映...学JS的时候很难..但是有些人认为..它没有服务端的语言难.或者说..根本就不屑的学这种语言... 什么破语言..老出各种各样的错误...浏览器还不兼容..但是...学好JS对你未来的web开发有至关重要的作用....我觉得.JS是奠定RIA的基础...或者说..客户端的开发RIA的基础. 我个人觉得..如果你不学习服务端语言

java学习总结专栏 1204

某老师给我的javascript学习建议

JS学习建议解码 有一个通用理论叫“一万小时定律”(不是绝对),做任何事物的深入认知与把握都需要长时间的积累,才能达到自己期望的高度。虽然你接触JavaScript有一段时间了,并且 利用业余时间学习,但是过程还是要有的。基础知识那一关你坚持过来了,重头戏是实践中出真理。我在学习方案上给予一定的建议,希望对你有所帮助,感谢:) 送你一句话:天行健君子以自强不息!很虚,但很管用的一句话! 下面,结

啊哈前端的专栏 710

学习JS建议

学习JS的忠告 1,不要着急看一些复杂网页效果的代码,这样除了打击你自信心,什么也学不到。 2,别急着加技术交流QQ群,加牛人QQ。如果你找张三丰交流武功。 3,看网上什么多少天精通JS,啥啥啥从入门到精通,这种教程直接跳过吧,太多的事实证明,以一种浮躁的心态去做任何事都会以失败而告终。 4,千万别去弄啥电脑培训,花了钱和时间不说,关键是学不到东西。本来你买两本好书自学

邓双的专栏 546

成为最差开发者的10建议

昨天在devto上面看到一篇挺有意思的文章,一位国外开发老哥发表了一篇关于如何成为最糟糕开发者的10建议,相比其他正向建议如何成为一名优秀程序员类的文章更为深刻。下面我们一起来看看这10建议都是啥! Top 10:在做任何事情之前,你需要100%的了解JavaScript 这是一个非常好的建议,可以应用到任何地方。除非你是该领域的第一专家,否则你不应该做任何事情,即使不是在你的国家,至少在你周围的圈子里。不然你怎么确定你不会搞砸任何事情?否则你怎么确保自己不会被嘲笑? 如果你开始得太早,你可能会犯一个

程序猿DD 1万+

JavaScript初学者的24最佳实践

转自:颜海镜 专注web前端,分享html,css,javascript,jquery等相关原创知识…… 给JavaScript初学者的24最佳实践 作为“30 HTML和CSS最佳实践”的后续,本周,我们将回顾JavaScript的知识 !如果你看完了下面的内容,请务必让我们知道你掌握的小技巧! 1.使用 === 代替 == JavaScript 使用2种不同的等值运算符:===|...

LeeCSDN77的博客 262

如何去学好JS的8建议

如何才能学好JS?在这里给大家总结一些学习Js的经验,希望能对你们有所帮助。

华为云官方博客 4812

代码中命名的10建议

命名是程序员最头疼的任务之一,占据了49%的困难比例。良好的命名需要掌握母语和丰富的词汇量,虽然这些并非开发工作的必需能力,但命名对代码的可读性至关重要。文章提出了十命名建议,包括命名应具体明确、避免不必要的词语、不使用缩写、使用代码的主要人类语言、不生造词语、不包含类型信息、优先使用主动语态、保持语法一致性,并在必要时打破规则。通过遵循这些准则,开发者可以提高代码的可读性,使未来的维护者更容易理解代码。命名虽难,但通过多花心思,可以显著提升代码质量。

小猫三两只。 1161

JavaScript初学者的20建议

1.使用 === 代替 JavaScript 使用2种不同的等值运算符:=|!== 和 |!=,在比较操作中使用前者是最佳实践。如果两边的操作数具有相同的类型和值,= 返回true,!== 返回false。然而,当使用 == 和 != 时,你可能会遇到类型不同的情况,这种情况下,操作数的类型会被强制转换成一样的再做比较,这可能不是你想要的结果。 作者:Express 链接:https://zhua...

SchrodingerEgg的博客 318

给萌新的JavaScript入门的5建议

学习交流JS,WEB前端,欢迎小伙伴加入我的前端交流群:1145459155 你是否已经初步掌握了html和css,但完全不知道从何入手JavaScript?如果是,那么这篇文章一定会对你有所帮助,这里总结了5建议,帮助JavaScript初学者总结学习方法,提高学习效率。 一、多看视频少看书 对初学者而言,看书的效率是很低的,书上的内容大多会展示核心代码,而视频为了演示效果,会展示全部代码。初学者自学需要的是全部代码,只看核心代码必定会留下踩不完的坑。所以,初学者一定要多看视频少看书。 二、写代码的时间

qq_36272264的博客 1008

JavaScript 初学者应知的 24 最佳实践

原文:24 JavaScript Best Practices for Beginners (注:阅读原文的时候没有注意发布日期,觉得不错就翻译了,翻译到 JSON.parse 那一节觉得有点不对路才发现是 2009 年发布的文章,不过还是不错的啦。另外,文章虽说 24 最佳实践,其实只有 23 ,不知道原作者怎么漏了一。) 1. 优先使用 ===,而不是 == JavaScript

justjavac(迷渡) 2000

[HTML] 使用anime.js实现Win10 加载动画的样式

预览 上一篇中我介绍了使用anime.js实现win10加载圆环的动画,这次我们实现的是win10加载的动画,这个动画你也应该在Win10上许多地方都能看到,下面就来看预览吧 WPF 中原生样式 JS样式 源码 话不多说,相信看到效果你也会发现,因为有WPF版本的参数作为基础,JS版本实现的已经非常接近原生样式了,下面就直接上JS的源码 ,函数生成的是一个Lodingba...

Y_Theta 838

为什么选择faunadb-js?FaunaDB v4 JavaScript驱动的优势与最佳实践

faunadb-js是FaunaDB v4的官方JavaScript驱动,为开发者提供了便捷高效的方式来与FaunaDB数据库进行交互。无论是在Node.js环境还是浏览器中,它都能稳定运行,帮助开发者轻松构建数据驱动的应用程序。 ## 🌟 核心优势:为何选择faunadb-js? ### 1. 多环境支持,无缝切换 faunadb-js支持多种运行环境,包括Node.js的各个LTS版本(

gitblog_00154的博客 824

构建大型 Vue.js 项目的10建议

下面是我在开发大型 Vue 项目时的最佳实践。这些技巧将帮助你开发更高效、更易于维护和共享的代码。 今年做自由职业的时候,我有机会开发了一些大型 Vue 应用程序。我所说的这些项目,Vuex store 超过十个,包含大量的组件(有时候几百个)和视图页面。对我来说这是个很有益的经验,因为我发现了很多有意思的模式,可以让代码拥有更好的伸缩性。我还必须修正一些导致著名的意大利面式代码困境的错误实践...

IT修真院:初学者转行到互联网的聚集地 571

23JavaScript初学者应知的最佳实践方法

优先使用===,而不是==JavaScript使用两种相等性操作符:===|!==和==|!=。通常认为做比较的最佳实践是使用前一组操作符。“若两个操作数的类型和值相同,那么===比较的...

前端达人 346

15JavaScript最佳实践

15JavaScript最佳实践 匿名  发表于 2013.11.22     647浏览    8讨论 作者:余果,腾讯(ISUX)高级前端开发。热爱互联网,崇尚开源;对技术、设计和用户体验抱有热情。   本文档整理大部分公认的、或者少有争议的JavaScript良好书写规范(Best Practice)。一些显而易见的常识就不再论述(比如要用对象支持识别

CSDN515的专栏 986

雅虎35网站前端优化建议

Yahoo!的 Exceptional Performance团队为改善 Web性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。原版猛戳:Best Practices for Speeding Up Your Web Site, Excetional Performance 团队总结出了一系列可以提

鹰潭SEO 2152

Logseq 连 Zotero 做文献笔记:配目录、引 PDF、一键打开

Logseq 是个开源的个人知识管理工具,笔记存在本地。这篇文章讲它的 Zotero 集成怎么配,配完你就能在笔记里直接打开 Zotero 里的 PDF,边读边做批注。 ## 一、它到底能帮你做哪几件事 - **把 PDF 引进笔记** —— Zotero 里管理过的 PDF,用一行标记就能挂到 Logseq 块上 - **一键打开文献** —— 笔记里渲染出 Open 按钮,点一下就打开 P

gitblog_00925的博客 780

JavaScript新手的24实用建议

 本文列出了24能让你的代码编写过程更为轻松高效的建议。也许您还是JavaScript初学者,刚刚写完自己的Hello World,那这里有很多对您的工作将十分有用的小贴士;也许有些技巧您已经知道,那就试试快速浏览一下,看能不能发现一点新东西吧!注:本文多次用到Firebug的console对象,请参考 Firebug Console API 。关于firebug的更详细介绍,请

xuexijava的专栏 506
上一篇: window.location.replace 和 window.location.href 的区别
下一篇: webpack 配置 process.env 获取命令行参数
前端dog
博客等级 码龄10年 42粉丝 69原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值