可以在内联JavaScript中使用HTML实体吗?

可以在内联JavaScript中使用HTML实体吗?,javascript,html,Javascript,Html,我刚刚在一个我还没有建立的网站上做了一些工作,注意到在onClick属性上内联使用了一些JavaScript 令人费解的是,JavaScript看起来不应该工作,但它没有出错。我认为它不应该起作用的原因是,它使用的不是引号,而是HTML实体代码:' 具体代码如下: onClick="ga('send', 'event', { eventCategory: 'Place', even

我刚刚在一个我还没有建立的网站上做了一些工作,注意到在onClick属性上内联使用了一些JavaScript

令人费解的是,JavaScript看起来不应该工作,但它没有出错。我认为它不应该起作用的原因是,它使用的不是引号
而是HTML实体代码:
'

具体代码如下:

onClick="ga('send', 'event', { eventCategory: 'Place', eventAction: 'Book', eventLabel: 'Open'});"

我当然会改变这一点,但从技术上讲,这是可以接受的JS吗?

这段Javascript嵌入到HTML中。浏览器将首先读取并处理HTML,包括解码任何实体。然后,它发现这个HTML的一部分是Javascript,所以它将(此时已解码的HTML)Javascript交给它的Javascript解释器进行解释


实体是并且应该被编码的,因为它们嵌入在HTML中,所以您必须首先遵循HTML的语法。这是旧的引号内引号的问题。HTML用HTML实体来解决它。

那么,与我将要更改的内容相比,技术上有什么更好的选择呢?你真的只需要注意转义
quotes,因为它们是示例中
onclick
属性的分隔符。所有其他实体都是可选的和多余的。为了可读性和保持代码小,最好删除所有其他不需要的实体。