在ES5中,要达到常量的效果,可以使用如下方法:
使用
Object.defineProperty(对象,对象属性,{
value:默认值,
writable:是否可写
})
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ES3和ES5及ES6中常量的定义</title>
<script type="text/javascript">
window.onload = function(){
Object.defineProperty(window,"PI_HBK",{
value:3.14159,
writable:false
})
console.log(window.PI_HBK);
window.PI_HBK=200;
console.log(window.PI_HBK);
}
</script>
</head>
<body>
</body>
</html>
可以看出,修改之后,没有取到效果。
在ES6中,使用const定义常量,对常量赋值,会报异常。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ES3和ES5及ES6中常量的定义</title>
<script type="text/javascript">
window.onload = function(){
const PI_HBK = 3.14;
console.log(PI_HBK);
PI_HBK = 100;
console.log(PI_HBK);
}
</script>
</head>
<body>
</body>
</html>
可以看出,赋值报异常了,第二个打印console.log没有执行。
专业墙纸贴纸厨房用具装饰出售,本人网店经营,访问即是爱
博客对你有用记得访问下哦,增加下访问量,如有需要可以下单购买哦^_^。店铺地址https://item.taobao.com/item.htm?id=570637716145