JavaScript 基础笔记

基本数据 变量

定义变量和常量

1
2
3
var x;
let y = 5;
const PI =3.14;

数据类型

类型 关键字
字符串 String
数字 Number
布尔 Boolean
未定义 Undefined
Null

JavaScript 拥有动态类型,随时都可以变类型

在JavaScript中,undefined表示一个变量自然的、最原始的状态值,而null表示一个变量被人为的设置为空对象,而不是原始状态。具体区别如下:

  1. undefined 是一个全局对象的属性,而 null 是一个关键字。在变量声明时,没有赋值的变量默认为 undefined,而不是 null。
  2. undefined 是一个假值,在布尔上下文中会被视为 false,而 null 不是假值。
  3. null 表示明确设置了一个变量或属性没有值,而 undefined 表示变量或属性没有被赋值或不存在。
  4. 在很多情况下,js会自动产生undefined,所以显式地写一个 undefined 是多此一举,如果需要传递一个空值,用 null 更合适。

null 和 undefined 的值相等,但类型不等:

1
2
3
4
typeof undefined             // undefined
typeof null // object
null === undefined // false
null == undefined // true

基础语句

判断语句

if else 语句

1
2
3
4
5
if (condition) {
当条件为 true 时执行的代码
} else {
当条件不为 true 时执行的代码
}

switch 语句

1
2
3
4
5
6
7
8
9
10
switch(n) {
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
case 1case 2 不同时执行的代码
}

循环语句

for 循环

1
2
3
for (循环数;条件;参数) { 
循环体;
}

for/in语句

1
2
3
4
5
var person={fname:"Bill",lname:"Gates",age:56}; 

for (x in person) {
txt=txt + person[x];
}

while 循环

1
2
3
while (条件) {
循环体;
}

函数

定义语法

1
2
3
4
5
6
7
8
9
10
11
// 第一种
function <functionName>()
{
// 执行代码
}

// 第二种
const <functionName> = function()
{
// 执行代码
}

const f = function() {};函数表达式,它遵循常规变量赋值规则,只有当执行到该行代码时才会被解析和赋值,所以在声明之前引用它将会报错

function f() {};函数声明,它会提升作用域,这意味着无论它可以在代码的任何位置都可以调用它。

  • 如果需要一个在全局或局部作用域内可立即访问且在整个作用域生命周期内都不会更改的函数,通常使用函数声明;
  • 如果想将函数作为一个值赋给变量,并可能利用闭包或者其他需要表达式特性的场景,会 使用函数表达式。此外,使用const定义函数可以确保函数引用不会被意外覆盖。