我能使用 `µ` 作为 JavaScript 变量名吗?

3

可能是重复问题:
JavaScript变量名的有效字符

我知道在ECMAScript规范中说可以使用µ(希腊小写Mu),而且我已在一些浏览器上测试过,但它是否稳定可靠呢?在所有浏览器上都可以使用吗?可能存在什么风险?

从技术上讲,我不认为这有任何区别,就像jQuery使用$作为变量名称一样-是否存在技术差异?


1
是的,您可以使用µ,所有Unicode字母都是允许的 - 这个线程可能会引起您的兴趣:https://dev59.com/aXI-5IYBdhLWcg3w0MDx - Marcus Olsson
1
这个验证器也可能有所帮助:http://mothereff.in/js-variables#%E2%98%83 - Sudhir Bastakoti
1
更重要的是:你应该使用它吗?我认为不应该。mu 有什么问题吗? - stusmith
请不要这样,我的关键字无法输入 µ :( - xdazz
@xdazz,你用的是什么键盘/操作系统?你不能使用 Alt Gr+m 吗? - Billy Moon
@Billy Moon:这取决于操作系统。例如,我将我的组合键映射到了Windows按钮,并且必须按照compose key + m + u(m和u依次)才能得到µ。例如,法语键盘有一个µ键,只有少数人能理解原因... 这不是不能输入它的问题,而是将一个变量称为µ不太实用的问题。 - nico
3个回答

5

我需要知道它是否能在所有浏览器上运行,包括移动设备和服务器端JavaScript等,而不是某些字符是否可以在某些浏览器上使用。 - Billy Moon
1
所有的浏览器都应该具备ECMAScript兼容性,如果没有,那就是一个bug。大多数手机使用Safari或Opera,因此它们具有相同的实现。那么为什么它应该工作不同呢?为什么有人要实现一些在任何地方都没有定义的限制呢?如果这对于IE、Firefox、Chrome和Safari有效,那么它将在任何地方都有效。 - kenorb

1
不,实际上没有任何“真正”的技术差异。在JavaScript中,几乎所有Unicode字母都可以作为变量名。请查看这篇很棒的文章以获取更多信息。
然而,一些Unicode字符使用更多的字节,因此ASCII可能是更好的选择。

1
这篇文章解释了并非所有的Unicode都可以使用,而且JavaScript使用的是UTF-8而不是Unicode。 - Billy Moon
至少是Unicode或UTF-16(USC-2)的类别。 - Marcus Olsson

0

是的,你可以。

以下是支持该说法的参考资料


1
第二个链接(实际上)已经失效了。它重定向到一个通用页面。 - Peter Mortensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接