![]() |
1
2
Javascript给你很多绳子。你可以用那根绳子创作一部杰作,也可以编写可怕的代码。因为语言并不能阻止你做坏事,所以你必须知道语言中不同的事情是合适的还是不合适的。 为此,变量的使用或用途应与其名称相匹配,且不应更改。换句话说,您不应将同一变量用于许多不同的目的。 如果您有不同的用途,请创建一个不同的变量,并为该新变量指定一个描述其用途的不同描述性名称。 有可能有一个变量具有一致的用途,适合一个描述性名称,并且该用途可以包含不同的类型,但这不是特别常见。大多数时候,你使用不同的类型,这是因为你有不同的用途,可以更好地适应不同的变量。 我倾向于按照以下顺序考虑我的编码目标:
请注意,清晰、可维护的代码被赋予了相当高的优先级。这将使我能够在几年后回来处理这段代码,修复一个bug或添加一个功能,并仍然了解它的工作原理。或者,它将允许团队中的其他人立即处理代码,并且几乎不难理解代码的工作方式或如何安全地修改代码。 使用不同的类型为多个目的重载同一变量不太可能清晰、易于理解和维护。我并不是说这样做永远都不可能,但代码最好能非常、非常清楚地表明,这是意料之中的事情,而且这种情况通常不会发生。
注意,在代码示例中,变量的名称
|
![]() |
2
2
虽然语言完全允许你这样做,但我会尽可能避免。这只是容易出错和误导。通常,变量名会描述其内容,如果您传递完全不同的内容,我认为您在滥用语言特性。
JS中有以下概念
实际类型的
|
![]() |
3
1
始终如一总是更好的。特别是如果你在团队中工作。这真的会让那些不得不仔细阅读代码的人感到沮丧,因为有时人们只是没有时间,他们会从一个地方跳到另一个地方,所以很容易不注意到代码中的这种变化。 此外,切勿在数组中混合数据类型。相信我,你不想成为那个人。 |
![]() |
4
-1
对相同类型的数据使用相同的变量是一种“好的做法”。特别是,不要在数组中混合类型,因为像V8(chrome)和SpiderMonkey(Firefox)这样的javascript引擎会在运行时优化代码,而数组中的混合类型(除其他外)不会让这种情况发生。你还想养成这个习惯,这样以后,如果你使用的是 Typed Arrays ,它会派上用场的。
但抛开迂腐不谈,你可以随意快速地使用javascript
designed that way
。有时,这也是不可避免的,因为函数中的参数可能有一个整数作为其参数,或者如果未传递,则为“undefined”,这是
玩JS很开心,它是一种学习起来很有趣的语言,而且很快就能上手。 |
![]() |
Oded S · 带有运算符重载函数的c++17求值顺序 7 年前 |
![]() |
Menachem · 如何在解码Base64字符串时处理错误 7 年前 |
![]() |
EFanZh · 有符号整数和无符号整数之间的转换 9 年前 |
![]() |
nickcoxdotme · 关注点的角度和语义标记/分离 11 年前 |