字面量与变量
字面量
- 字面量相当于常量,例如:1,2,1000,...
- 字面量可以直接使用,但是一般不会直接使用
- 可以用变量保存字面量,且变量可以任意改变
变量
- 在JavaScript中,变量用于存储数据值。
- 它们是使用var、let或const关键字声明的。var是较早的声明变量的方法,而let和const是在ES6中引入的。
var变量是函数范围的,这意味着它们只能在声明的函数中访问。let和const变量是块范围的,意味着它们只在声明的块中访问(块用大括号{}表示)。
let变量可以重新分配一个新值,而const变量不能重新分配。但是,如果const变量是对象或数组,那么它的值仍然可以发生变化。
var name = "John"; // declaring a var variable
let age = 30; // declaring a let variable
const PI = 3.14; // declaring a const variable
console.log(name); // output: John
console.log(age); // output: 30
console.log(PI); // output: 3.14
name = "Jane"; // reassigned the value of name
age = 35; // reassigned the value of age
console.log(name); // output: Jane
console.log(age); // output: 35
// PI = 3; // this will throw an error because PI is a const variable and cannot be reassigned
const person = { // declaring a const variable that is an object
name: "John",
age: 30
};
person.age = 35; // mutating the value of age in the person object
console.log(person); // output: { name: "John", age: 35 }
- 细节:console.log(变量)需要在浏览器的控制台查看(idea)
与java的变量对比
回顾Java中的变量?
怎么声明?
int i;
double d;
String s;
怎么赋值?
i = 100;
d = 3.14;
s = "abc";
一行上能声明多个变量吗?
int a, b, c = 300;
a b c都是int类型。
a和b没有赋值。
c赋值300
重点:Java语言是一种强类型语言,有编译阶段,属于编译型语言。
Java语言在编译阶段确定变量的数据类型,也就是说程序还没有
运行呢,变量的数据类型就已经确定了,并且该变量的数据类型
在这一生中,永远不可变。
int x = 1200;【x = true; java的编译器会报错。不让这样做。语法不对!】
double d = x;
这行代码表示x的变量中保存的值1200给d变量
x变量还是int类型,d变量是double类型。一生不变。
JS的变量?
怎么声明?
var 变量名;
var i;
怎么赋值?
变量名 = 值;
i = 100;
一行上能声明多个变量吗?
var a, b, c = 300;
声明3个变量,a b c,并且c赋值300,其中a和b变量没有赋值,系统默认赋值undefined
undefined 在JS中一个具体的值,这个值就是 undefined
重点:JS语言是一种弱类型语言,没有编译阶段,直接浏览器打开解释执行,
在JS中声明变量时不需要指定变量的数据类型,程序在运行过程当中,赋什么
类型的值,变量就是什么数据类型,并且变量的数据类型是可变的。
var i;
i = 100; 到这里i是整数型
i = false; 到这里i就是布尔类型了
i = true;
i = 3.14;
i = new Object();