在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
当前回答
在早期版本的Visual Basic中,没有“Return”语句的函数只是“Return None”,没有任何编译器警告(或错误)。
这导致了最疯狂的调试会话,那时我必须每天处理这种语言。
其他回答
在JavaScript中:
alert(111111111111111111111) // alerts 111111111111111110000
这对我在JSON中来回传递的一些64位键非常不利。
在早期版本的Visual Basic中,没有“Return”语句的函数只是“Return None”,没有任何编译器警告(或错误)。
这导致了最疯狂的调试会话,那时我必须每天处理这种语言。
Delphi不关心像“word”这样的类型转换,将读取数组arr[0..65535] where pos = 65535: Arr[单词(pos + 10)]
PHP (?)
第一:(未设置)类型转换。
$a = 1;
$b = (unset)$a;
var_dump($a); // 1
var_dump($b); // NULL
用法:http://www.php.net/manual/en/language.types.type-juggling.php # 89637
第二:= NULL和unset()函数之间的区别。
$c = 10;
$d = &$c;
$c = NULL;
var_dump($c); // NULL
var_dump($d); // NULL
$e = 10;
$f = &$e;
unset($e);
var_dump($e); // NULL
var_dump($f); // 10 - WTF?
在JavaScript中:
'5' + 3 gives '53'
而
'5' - 3 gives 2