我注意到,在Internet Explorer中(但不幸的是,在我测试的其他浏览器中不是),您可以使用一些Unicode变量名.这让我很开心,我非常高兴能像这样编写充满Unicode的有趣代码:

var ктоείναι草泥马 = "You dirty horse.",
    happy☺n☺mat☺p☺eia = ":)Yay!",
    ಠ_ಠ = "emoticon";

alert(ктоείναι草泥马 + happy☺n☺mat☺p☺eia + ಠ_ಠ);

然而,由于某些原因,◎ܫ◎♨_♨不是有效的变量名.

为什么ಠ_ಠ草泥马可以工作,而◎ܫ◎♨_♨不行?

EDIT: Test it out in your browser on JSFiddle. I've tested it in Internet Explorer 9, Chrome, Firefox, and Opera. So far, it seems to only work in Internet Explorer 9. (I don't know about Internet Explorer 8 and below.) Let me know if it works in another browser.

推荐答案

ಠ_ಠ 而草泥马只包含实际字母表中使用的"字母";即ಠ 是从Kannada alphabet开始的符号,而草泥马由中文字符组成.

◎ 和☺, 然而,这些都是纯粹的符号;它们与任何字母表都没有关联.

ECMAScript standard, chapter 7.6(除Internet Explorer之外的所有浏览器都遵循)表示标识符必须以下列之一开头.

  • Unicode字母
  • $_
  • \后跟unicode转义序列.

标识符的以下字符必须是以下字符之一.

  • 开头允许的任何字符
  • Unicode组合标记
  • Unicode数字
  • Unicode连接器标点符号
  • 一种零宽度非接缝机
  • 一种零宽度的接头机

IE超出了标准,允许使用一些符号,例如☺.

根据ECMAScript 5.1和Unicode 6.1,有a tool个字符串将告诉您输入的任何字符串是否是有效的JavaScript变量名.

Javascript相关问答推荐

如何在dataTables PDF输出中正确渲染字形?

添加/删除时React图像上传重新渲染上传的图像

获取加载失败:获取[.]添加时try 将文档添加到Firerestore,Nuxt 3

colored颜色 检测JS,平均图像 colored颜色 检测JS

配置WebAssembly/Emscripten本地生成问题

当试图显示小部件时,使用者会出现JavaScript错误.

Javascript json定制

如果Arrow函数返回函数,而不是为useEffect返回NULL,则会出现错误

当id匹配时对属性值求和并使用JavaScript返回结果

在运行时使用Next JS App Router在服务器组件中运行自定义函数

查询参数未在我的Next.js应用路由接口中定义

JavaScript是否有多个`unfined`?

Reaction Redux&Quot;在派单错误中检测到状态Mutations

有没有一种直接的方法可以深度嵌套在一个JavaScript对象中?

无法设置RazorPay订阅API项目价格

Jexl to LowerCase()和Replace()

在单击按钮时生成多个表单时的处理状态

P5play SecurityError:无法从';窗口';读取命名属性';Add';:阻止具有源的帧访问跨源帧

限制数组中每个元素的长度,

如何在加载页面时使锚定标记成为焦点