Javascript

「译」JavaScript 整洁代码 - 最佳实践

Javascript

「译」JavaScript 整洁代码 - 最佳实践

介绍 如果您关心代码本身以及代码的编写方式,而不必担心它是否起作用,那么您可以说您正在练习并关心干净的代码。专业的开发人员将为将来的自己和“其他人”编写代码,而不仅仅是为机器编写代码。您编写的任何代码都永远不会被编写一次,而是会坐下来等待未来的家伙,使他痛苦不堪。希望那个未来的家伙不会是你。 基于此,干净的代码可以定义为以不言自明,易于人类理解,易于更改或扩展的方式编写的代码。 问自己,当第一印象是“ WTF”问题之一时,您继续进行了几次别人的工作? “这是什么鬼?” “你在这里做了什么?” “这是你的目的吗?” 这是表达上述观点的热门图片。 罗伯特·C·马丁(鲍勃叔叔)的一句话,应该使您思考自己的做法。 即使是糟糕的代码也能发挥作用。但是如果代码不干净,就会使开发者陷入困惑。 在本文中,重点将放在JavaScript上,但是这些原理可以应用于其他编程语言。 现在开始阅读整洁代码的最佳实践 1. 强类型检查 使用 === 代替 == // If not handled properly, it can dramati

By Lewis
「译」更好的 JavaScript 条件式和匹配条件的提示与技巧

Javascript

「译」更好的 JavaScript 条件式和匹配条件的提示与技巧

介绍 如果像我一样喜欢看干净的代码,则将尝试使用尽可能少的条件语句来编写代码。通常,面向对象的编程使我们能够避免条件,而将其替换为多态性和继承。我相信我们应该尽可能地遵循这些原则。 就像我在另一篇文章 JavaScript Clean Code Best Practices 中提到的那样,您并不仅仅是为机器编写代码,而是为“未来的自己”和“其他人”编写代码。 另一方面,由于各种原因,我们可能最终在代码中使用条件。也许我们的修复期限很紧,或者不使用条件语句将对我们的代码库造成太大的更改,等等。本文旨在帮助您解决这些情况并帮助您组织条件语句。 技巧 以下是有关如何构造if...else语句以及如何减少编写以实现更多目标的技巧。享受吧! 1. 重要的事情先做,琐碎的但很重要 不要使用否定条件(它们可能会造成困惑),而请使用条件简写来表示 boolean 变量。我不能特别强调这一点,尤其是关于否定条件的部分。这是一种不自然的做事方式。 Bad const isEmailNotVerified = (email) => { // impleme

By Lewis
WEB 优化方案

Javascript

WEB 优化方案

页面优化 HTML * 设置页面元信息 <!-- 可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。--> <meta http-equiv="expires" content="31 Dec 2008"> <!-- 禁止浏览器从本地计算机的缓存中访问页面内容。--> <meta http-equiv="Pragma" content="no-cache"> * 使用外部 css、js 根据用户使用情况而定,外部 css、js 有利于缓存(css不阻塞dom解析,阻塞浏览器渲染),如果无需重复使用或多次访问更适合

By Lewis
ES6 块级作用域

ES6

ES6 块级作用域

var 变量提升 * 全局作用域下自动转换为window对象属性,而let、const不会。 function test1() { console.log(a) // undefined if(false) { var a = 1; } console.log(a) // undefined function inner() { if(false) { var b = 2 } } console.log(b); //RefrenceError b is not defined } 示例:http://jsbin.com/tunonipare/edit?html,js,console let 块级作用域 * 可以读取外层变量、可以重新定义外层变量,但是不能在块级作用域内重新声明函数如果必须要使用函数表达式声明。块级作用域声明函数必须在大括号内。

By Lewis