我正在尝试一些 HTML5 画布绘图,但遇到了高级编译模式的问题。我想用mozDash
Mozilla 浏览器的属性来举例说明(尽管这个问题在属性优化功能上非常通用)https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D#Gecko-specific_attributes
javascript代码在 Clojurescriptcanvas.mozDash = ...
中可以表示为 [1](set! (.-mozDash canvas) ...)
或 [2] 。(aset canvas "mozDash" ...)
我之前使用过 [1] 并且它在大多数情况下都有效,但是使用该mozDash
属性,mozDash
标识符在高级编译结果中消失了。因此我尝试了[2],似乎mozDash
使用变体保留了标识符aset
。
因此,我的问题是:
- 这是这些符号的有意区别吗?
- 为什么行为不同([1] 和 [2] 有效)
(.-fillStyle canvas)
?
我有点怀疑标准 HTML 属性默认受到保护,mozDash
而不支持非标准属性(如 )。