协慌网

登录 贡献 社区

最奇怪的语言特征

在您看来,您遇到的最令人惊讶,奇怪,奇怪或真正的 “WTF” 语言功能是什么?

每个答案只能有一个功能。

答案

在 C 中,数组可以像这样索引:

a[10]

这很常见。

然而,鲜为人知的形式(确实有效!)是:

10[a]

这意味着与上述相同。

在 JavaScript 中:

'5' + 3 gives '53'

'5' - 3 gives 2

在 JavaScript 中,以下构造

return
{
    id : 1234,
    title : 'Tony the Pony'
};

返回undefined是一种语法错误,因为return后在换行符上插入了偷偷的隐式分号。以下工作正如您所期望的那样:

return {
    id : 1234,
    title : 'Tony the Pony'
};

更糟糕的是,这个也适用(至少在 Chrome 中):

return /*
*/{
    id : 1234,
    title : 'Tony the Pony'
};

这是同一问题的变体,不会产生语法错误,只是默默地失败:

return
    2 + 2;