字符串连接引发的典型问题涉及以下几个问题:
- 的
+
符号而过载
- 简单的错误
- 程序员很懒
#1
+
用于字符串串联和加法的第一个也是最重要的问题是您正在使用+
字符串串联和加法。
如果你有变量a
和b
,并设置c = a + b
有依赖于类型的歧义a
和b
。这种歧义迫使您采取额外的步骤来缓解此问题:
字符串连音:
c = '' + a + b;
加成:
c = parseFloat(a) + parseFloat(b);
这把我带到第二点
#2
意外地将变量强制转换为字符串而没有意识到这很容易。也很容易忘记您的输入是以字符串形式输入的:
a = prompt('Pick a number');
b = prompt('Pick a second number');
alert( a + b );
由于提示符返回输入的字符串值,将产生不直观的结果。
#3
需要打字parseFloat
或Number()
每次我想做加法都是乏味而烦人的。我认为自己足够聪明,以至于记得不要搞乱我的动态类型,但这并不意味着我从未搞砸过我的动态类型。事实的真相是,我懒于输入parseFloat
或Number()
每次添加时都太懒了,因为我做了很多添加。
解?
并非所有语言都+
用于字符串连接。PHP用于.
连接字符串,这有助于区分何时要添加数字和何时联接字符串。
任何符号都可以用来连接字符串,但是大多数符号已经被使用,最好避免重复。如果可以的话,我可能会使用_
联接字符串,并禁止输入_
in变量名。
bad
?是谁Everyone
?