javascript 变量的声明方式(constvarlet)
Posted 猎人在吃肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 变量的声明方式(constvarlet)相关的知识,希望对你有一定的参考价值。
文章目录
1、const
(1)不初始化,无法运行,直接报错
<script>
<!--const 修饰的变量是一个常量,必须初始化赋值,且不可以修改。 -->
const b;
console.log(b);
</script>
const可以保证数据的安全性,虽然不能改变对象的值,但是可以改变对象的指向。
(2)给常量赋值,运行正常
<script>
<!--const修饰的变量是一个常量,必须初始化赋值,且不可以修改。 -->
const b = 2;
console.log(b);
</script>
测试:
可以正常输出。
(3)修改,报错
<script>
<!--const 修饰的变量是一个常量,必须初始化赋值,且不可以修改。 -->
const b = 2;
b=5;
console.log(b);
</script>
2、var
(1)不赋值,输出undefined,不会报错
<script>
<!--var 的变量,不初始化,则输出undefined,不会报错 -->
var b;
console.log(b);
</script>
输出undefined
(2)定义并赋值
<script>
<!--var 定义的变量可以修改,如果不初始化会输出undefined,不会报错-->
var b=12;
console.log(b);
</script>
可以正常输出
(3)修改值
<script>
<!--var定义的变量可以修改,如果不初始化会输出undefined,不会报错-->
var b=12;
b=34;
console.log(b);
</script>
可以修改变量的值
(4)不声明,不赋值
<script>
console.log(sname);
</script>
(5)不声明,直接赋值,可以使用但是不提倡
<script>
uname="zhai";
console.log(uname);
</script>
3、let,块级作用域
<script>
<!--let 是块级作用域,函数内部使用let定义后,对函数外部无影响-->
let a = 1;
console.log('函数执行前:' + a);
function test()
let a = 2;
console.log('函数内改变变量的值为:' + a);
test();
console.log('调用函数后:' + a);
</script>
在函数内部对变量值的改变,不会影响到函数的外部改变量的值。
ES5只有函数有块级作用域的概念,ES6中的块级作用域包括函数、for循环、if,块及作用域。
4、ES6对字面量的增强写法
(1)ES5的写法
<script>
const student =
name: "zhai",
age: 12,
run: function ()
console.log("run")
,
eat: function ()
console.log("eat")
</script>
(2)ES6 的写法
<script>
const student =
name:"zhangsan",
age:20,
run()
console.log("run")
,
eat()
console.log("eat")
console.log(student)
console.log(student.eat())
console.log(student.run())
</script>
以上是关于javascript 变量的声明方式(constvarlet)的主要内容,如果未能解决你的问题,请参考以下文章