JavaScript变量,js定义变量
一、JavaScript的变量分类。js内存为堆或栈1、基本数据类型变量a.number 整型b.string 字符串类型c.Boolean 布尔值类型d.null空e.undefined未定义类型PS:基本数据类型存放在栈中2、引用数据类型变量object对象array数组function函数PS:引用数据类型存放在堆中二、JavaScript中var、let、const的区别和使用1、var定
·
一、JavaScript的变量分类。js内存为堆或栈
1、基本数据类型变量
a.number 整型
b.string 字符串类型
c.Boolean 布尔值类型
d.null 空
e.undefined 未定义类型
PS:基本数据类型存放在栈中
2、引用数据类型变量
object 对象
array 数组
function 函数
PS:引用数据类型存放在堆中
二、JavaScript中var、let、const的区别和使用
1、var定义变量
- var定义的变量能够预解析,如果变量没有定义就直接使用的话,JavaScript回去解析这个变量,代码不会报错,只会输出undefine
- var定义的变量可以反复去定义,当然后面的会覆盖前面的
var a=1;
var a=2;
- var在循环中使用的时候,循环体外依然可以使用
var在整个函数内都是有效的,比如说在for循环内定义的一个var变量,实际上其在for循环以外也是可以访问的。
<script>
for(var i=0;i<arr.length;i++){
console.log(i);
}
console.log(i);
</script>
2、let声明变量
- let定义的变量不会预解析,必须先声明再使用,否则会报错
console.log(a)
let a=2;
- let不能定义已经定义过的变量(无论之前是用var定义的还是let或者const定义的)
let已经被定义,不会被再次定义
let b=1;
let b=2;
- let是块级作用域,函数内部使用let定义后,对函数外部无影响,简单说就是在一个{}里面生效
for (let a=0;b<arr.length;b++){
}
console.log(b);
- 由于let是块级作用域,在循环绑定事件过程中let会在这个循环中生效,再次循环时let会重新定义生效
3、const定义变量
- const定义的变量不会预解析,必须先声明再使用,否则会报错
console.log(ccc)
const ccc=1;
- const定义的变量不允许修改
const aaa=5;
aaa=6;
三、JavaScript输出语句
1、警示框
alert('我今年已经'+age+'岁了');
2、输入框
prompt('请输入出生年份');
3、控制台 【打印数据】
console.log(i);
更多推荐
已为社区贡献1条内容
所有评论(0)