如何在JS脚本中插入表情符号字符

7

如何在JS中使用表情符号:

http://unicode.org/emoji/charts/full-emoji-list.html#1f600

我尝试使用以下代码:

var emoji = String.fromCharCode(0x1F621);
var emoji = '\u1F600';

我也试过将它们复制/粘贴到phpStorm IDE和sublime text中:那会出现一个缺少字符的方块。

我只需要在我的JS代码中使用console.log('')


这意味着你IDE中使用的字体不支持这个特定的表情符号。 - Bergi
我尝试使用DW、SublimeText、PhpStorm和Notepad++。如果您知道支持它们的IDE,请告诉我。 - yarek
尝试将您的IDE设置为已安装并能够显示它们的字体。当然,另一种可能性是您的操作系统不支持复制粘贴它们。 - Bergi
2个回答

18
var emoji = String.fromCodePoint(0x1F621)

结果:

""

需要注意的是,String.fromCodePoint() 是 ES2015 标准的一部分,但浏览器支持有限。如果需要,可以查看 Mozilla 的polyfill

语言规范解释了为什么 fromCharCode 不起作用:

[参数] 通过应用操作 ToUint16 转换为字符,并将结果的 16 位整数视为字符的代码单元值。

而表情符号块超出了无符号 16 位整数支持的最大值。


太好了:但是一些旧版浏览器怎么办? - yarek
1
这里有一个polyfill - Hugues M.

-1
使用这个:

// emoji code from w3schools //
//***************************//
  var code = {
    ok: "9989",     hurrcane : "128165",  Up : "11014",    Down : "11015",    Hashtag : "35",    Clock : "9200", P : "127359",    Okay : "10004",    NotOkay : "10006"
  }
// emoji in javascript       //
//***************************//
  function emoji(ecode)
  {
    return String.fromCodePoint(ecode);
  }
  console.log(emoji(code.Clock)+emoji(code.Okay))


你的回答可以通过提供更多支持性信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人能够确认你的回答是否正确。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community

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