我使用const来使用vanilla JS getElementByID来定义一系列DOM元素。
例如:
const my_text = document.getElementById('my_text');
my_text的属性应该是可变的。
my_text.style.color = 'red';
尽管有口号,但它在iOS或OSX系统上并不起作用。我用Safari和Chrome测试了这个。
奇怪的是,当我在BrowserStack或jsFiddle上测试时,它可以正常工作。
According to MDN: const声明创建对值的只读引用。它并不意味着它拥有的值是不可变的,只是不能重新赋值变量标识符。例如,如果内容是对象,这意味着对象本身仍然可以更改。
我在atap.geolytix.net/iconst_fail
创建了一个非常简单的测试页面应该是这样的:
然而,在IOS或OSX设备上,您只能看到黑色的蓝色和红色。
测试页面的代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<style>
body {
font-size: 40px;
font-weight: 700;
font-family: monospace;
}
</style>
</head>
<body>
<div id="blue">blue</div>
<div id="red">red</div>
<div id="green" style="color: green"></div>
</body>
<script type="application/javascript">
var blue = document.getElementById('blue');
blue.style.color = 'blue';
const red = document.getElementById('red');
red.style.color = 'red';
const green = document.getElementById('green');
green.innerHTML = 'green';
</script>
</html>