2013-01-16 35 views
0

我想嵌入一个作弊码到javascript文件的注释中。它是一个复活节彩蛋,如果人们查看来源。这些特殊字符(箭头)是JS解释器的问题吗?谢谢Javascript中的特殊字符评论

/* 
(" ↑ ↑ ↓ ↓ ← → ← → B A ENTER ") 
*/ 
+3

那么,当你加载到你的浏览器时会发生什么?选择它,复制它,按F12,导航到你的控制台,粘贴它,运行它。利润;) – Sampson

+0

Ha欢呼声。它的工作原理,但我只测试了现代浏览器。只希望有人澄清Javascript对这些类型的角色的支持。 – JackMahoney

+0

我敢说,只要你在评论中没有'* /'或'/ *'的实例,你就很安全。 – Sampson

回答

1

它是安全的。在评论中,可以使用任何字符,除了那些被语言规范认定为终止注释的字符。通过ECMAScript标准,注释可以包含任何Unicode代码单元,并且没有理由怀疑实现无法遵守(它们只需要跳过所有字符数据,仅识别注释终止)。

但是,根据字符编码设置,查看.js文件的用户可能正确或无法正确看到字符。你不能保证这一点,但你可以通过服务器提供.js文件来提供帮助,使用Content-Type: text/javascript; charset=utf-8(如果你的文件是UTF-8编码的,因为它很可能是在这种情况下)并且使用script元素中的属性charset=utf-8指的是文件。哦,并使用带有BOM的UTF-8。

即使编码问题得到正确处理,用于查看.js文件的程序也有可能使用不包含注释中的字符的字体,因此它们不会被偷看的游客。但是这不影响功能。