JavaScript注释中的特殊字符

Special characters in JavaScript comments

本文关键字:特殊字符 注释 JavaScript      更新时间:2023-09-26

我想嵌入一个作弊代码到一个JavaScript文件的注释。如果人们看到它的来源,它就是一个彩蛋。这些特殊字符(箭头)会对JavaScript解释器造成问题吗?

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

很安全。在注释中,除了那些被语言规范识别为终止注释的字符外,可以使用任何字符。根据ECMAScript标准,注释可以包含任何Unicode代码单元,没有理由怀疑实现不遵守这一点(它们只需要跳过那里的所有字符数据,只识别注释终止)。

然而,查看.js文件的用户可能会或可能不会正确地看到字符,这取决于字符编码设置。您不能保证这一点,但您可以通过使用Content-Type: text/javascript; charset=utf-8从服务器提供.js文件(如果您的文件是UTF-8编码的,因为在这种情况下很可能是)并通过在引用该文件的script元素中使用属性charset=utf-8来帮助解决这个问题。对了,对BOM使用UTF-8。

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