【问题标题】:Can I use `µ` as a javascript variable name [duplicate]我可以使用`µ`作为javascript变量名吗?
【发布时间】:2012-08-05 12:14:25
【问题描述】:

可能重复:
Valid Characters for JavaScript Variable Names

我知道 ecmascript 规范说我可以使用 µ(希腊小写 Mu),并且我已经在几个浏览器上进行了测试,但它是否坚如磐石?它适用于所有浏览器吗?可能存在哪些陷阱?

从技术上讲,我认为它与使用 $ 作为变量名的 jQuery 没有什么不同 - 有什么技术差异吗?

【问题讨论】:

  • 是的,你可以使用 µ,所有的 unicode 字母都可以——这个线程可能很有趣:stackoverflow.com/questions/1661197/…
  • 这个验证器也可能有帮助:mothereff.in/js-variables#%E2%98%83
  • 更重要的是:您应该使用它吗?我想不是。 mu 怎么了?
  • 请不要,我的关键字不能输入µ :(
  • @xdazz 你用的是什么键盘/操作系统?你不能用Alt Gr+m得到它吗?

标签: javascript


【解决方案1】:

是的,您可以使用它。 例如:

var π = Math.PI;

还有Unicode escape sequences

基本上,Javascript 中的变量可以是任何根据 ECMAScript 5.1 / Unicode 6.1 有效的变量。

这里有一些在线JavaScript variable name validator

对于参考,this page is for documenting the differences between ES5 specification and the requirements for ECMAScript implementations in web browsers

【讨论】:

  • 我需要知道它是否适用于所有浏览器,包括移动设备和服务器端javascript等...而不是某些字符是否可以在某些浏览器上使用。
  • 所有浏览器都应该具有 ECMAScript 兼容性,所以应该。如果没有,那就是一个错误。大多数手机使用 Safari 或 Opera,因此它们具有相同的实现。那么为什么它应该工作不同。为什么有人应该实施一些没有定义的限制。如果这适用于 IE、Firefox、Chrome 和 Safari,它将适用于任何地方。
【解决方案2】:

不,没有“真正的”技术差异。 几乎所有 unicode 字母都允许作为 Javascript 中的变量名,请查看 this great writeup 了解更多信息。

然而,一些 unicode 字符使用更多字节,所以 ASCII 可能还是要走的路。

【讨论】:

  • 那篇文章解释说所有 unicode 都不能使用 - 并且 javascript 使用 UTF-8,而不是 unicode。
  • 好吧,至少是 unicode 类别,或 UTF-16 (USC-2)。
【解决方案3】:
猜你喜欢
  • 2019-02-14
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 2017-02-27
  • 1970-01-01
  • 2023-03-24
  • 2021-06-20
  • 1970-01-01
相关资源
最近更新 更多