如果initMap
函数为let
或const
,则无效并抛出错误:
Qb {message: "initMap is not a function", name: "InvalidValueError"}
如果我用var
替换它,它可以正常工作。那是为什么?
这是我的代码。
<head>
<meta charset="UTF-8">
<title>Test</title>
<script>
const initMap = function () {//THIS LINE
// Create a map object and specify the DOM element for display.
let map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
};
</script>
<!--map API-->
<script src="https://maps.googleapis.com/maps/api/js?key=MY_API_HERE&callback=initMap"
async defer></script>
</head>
<body>
<!--header ends-->
<div class="container">
<div class="row">
<div class="map-wrapper">
<div id="map" style="height: 300px; width: 600px"></div>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
这是因为 .fa.fa-check{
visibility: hidden;
color:white;
padding-top: 8px;
padding-left:14px;
font-size:15px;
}
.colors{
cursor:pointer;
width:42px;
height:30px;
margin-right:3px;
border-radius:3px;
display:inline-block;
}
.option{display:none;}
.option:checked + label span{
visibility: visible;
}
和const
变量不会成为let
的属性。
此声明创建一个常量,其范围可以是声明它的块的全局或局部。与var变量不同,全局常量不会成为窗口对象的属性。
您可以阅读更多相关信息HERE