element.style
对象中没有属性名称。但当我们用括号表示法到达它时,它会返回字符串值。
例如
Object.keys(document.body.style).includes("background-color") //false
但是
document.body.style["background-color"] // returns ""
那么这个机制是如何运作的呢?
由于ECMAScript6,您可以使用Proxy机制来覆盖get操作。
不同之处在于Object.keys
返回对象的自己的属性。所以background-color
是一个继承的性质。您可以在MDN web文档上看到更多信息。