let和const

  • let用来定义变量
  • const用来定义常量
    例如:
    html
    1
    2
    3
    4
    5
    6
    7
    <body>
    <script type="module">
    let a;
    let x = 3, name = "lzh";//声明多个变量
    const y = 4;//声明一个常量
    </script>
    </body>

变量类型

  • number: 数值变量,如1,2.5
  • string: 字符串,如”Hello”,’World’,单引号与双引号均可。字符串中的每个字符为只读类型。如果想要改变某个字符,可以用substr取子串方法重新构造一个字符串
  • boolean: 布尔值,例如true, false
  • object: 对象,类似于C++中的指针,例如[1, 2, 3],{name: “yxc”, age: 18},null
  • undefined: 未定义的变量

可以通过console.log(typeof 变量名)来查看类型

html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<script type="module">
// 声明两个变量x和y,并分别赋值为整数1和浮点数1.2
let x = 1, y = 1.2;
// 打印x和y的类型,预期输出为"number" "number"
console.log(typeof x, typeof y);

// 声明两个字符串变量s1和s2,并分别赋值为"Hello"和"World"
let s1 = "Hello", s2 = "World";
// 打印s1字符串中索引为1的字符,即'e'
console.log(s1[1]);

// 使用substr方法修改s1字符串,创建新字符串s3,内容为'Hexlo'
// s1.substr(0, 1)获取s1的第一个字符'H','x'是插入的字符,s1.substr(2)获取s1从第三个字符开始的剩余部分'ello'
let s3 = s1.substr(0, 1) + 'x' + s1.substr(2);
// 打印s3的内容,预期输出为'Hexlo'
console.log(s3);

// 声明一个布尔变量flag并赋值为true
let flag = true;
// 打印flag的类型,预期输出为"boolean"
console.log(typeof flag);

// 声明一个对象d,并初始化包含name和age两个属性
let d = {
name: 'lzh',
age: 18,
};
// 分别使用点语法和方括号语法打印d的name和age属性,预期输出为'lzh' 18
console.log(d['name'], d["age"]);
console.log(d.name, d.age);

// 修改d的name属性值为"zhang3"
d['name'] = "zhang3";
// 声明一个变量key,值为"name"
let key = "name";
// 使用变量key作为键来访问d对象的name属性,并打印,预期输出为'zhang3'
console.log(d[key]);
// 打印d的类型,预期输出为"object"
console.log(typeof d);

// 向d对象添加一个新的属性school,值为"Tsinghua"
d['school'] = "Tsinghua";
// 打印d对象的name、age和school属性,预期输出为'zhang3' 18 'Tsinghua'
console.log(d.name, d.age, d.school);

// 删除d对象的school属性
delete d.school;
// 打印d对象,此时school属性已被删除,预期输出为{name: 'zhang3', age: 18}
console.log(d);

// 打印null的类型,尽管在JavaScript中这是一个历史遗留问题,但null的类型仍被报告为"object"
// 这是一个已知的语言特性,而不是bug
console.log(typeof null);

// 声明一个变量t,但未赋值
let t;
// 打印t的类型,由于t未被赋值,其类型为"undefined"
console.log(typeof t);
</script>

js5.png

运算符

C++PythonJava类似,不同点:

  • **表示乘方
  • 等于与不等于用===和!==
  • 整除用parseInt,如parseInt(5 / 3), 结果为1