JavaScript关键字

JavaScript是一种广泛应用于网页开发的高级程序设计语言,它能够为网页添加动态效果和交互能力。在JavaScript中,有许多关键字是具有特殊含义的,它们在语言中起着重要的作用。本文将详细介绍JavaScript中常用的关键字及其用途。
var
var是JavaScript中定义变量的关键字。使用var关键字可以声明一个变量并可选的初始化它的值。
示例代码:
var x = 5;
var y;
在上面的示例中,我们使用var关键字声明了两个变量x和y。x被初始化为5,而y没有被初始化,因此它的值为undefined。
let
let是ES6引入的一个关键字,用于定义块级作用域的变量。与var不同,let声明的变量只在当前块作用域内有效。
示例代码:
let a = 10;
{
let b = 5;
}
console.log(a); // 10
console.log(b); // Uncaught ReferenceError: b is not defined
在上面的示例中,变量a和b都是使用let关键字声明的,但是变量b只在包含它的块内有效,因此在console.log(b)处会抛出一个ReferenceError。
const
const是ES6引入的另一个关键字,用于定义常量。一旦使用const关键字声明一个变量,便无法再对其重新赋值。
示例代码:
const PI = 3.14;
PI = 3.14159; // Uncaught TypeError: Assignment to constant variable.
在上面的示例中,我们使用const关键字声明了一个常量PI,再尝试对其重新赋值时会抛出一个TypeError。
function
function是JavaScript中定义函数的关键字。使用function关键字,我们可以声明一个函数并定义其逻辑。
示例代码:
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet('Alice')); // Hello, Alice!
在上面的示例中,我们定义了一个名为greet的函数,接受一个name参数并返回一个包含问候信息的字符串。
return
return关键字用于从函数中返回一个值。当函数执行到return语句时,函数会立即停止并将指定的值返回给调用者。
示例代码:
function add(a, b) {
return a + b;
}
console.log(add(3, 5)); // 8
在上面的示例中,我们定义了一个名为add的函数,接受两个参数并返回它们的和。
if
if是JavaScript中的条件语句关键字,用于根据指定条件执行不同的代码块。
示例代码:
let x = 10;
if (x > 5) {
console.log('x is greater than 5');
} else {
console.log('x is less than or equal to 5');
}
在上面的示例中,根据变量x的值,我们使用if语句判断并打印不同的消息。
else
else是与if一起使用的关键字,用于在条件不满足时执行备用代码块。
示例代码:
let age = 17;
if (age >= 18) {
console.log('You are an adult');
} else {
console.log('You are a minor');
}
在上面的示例中,根据年龄的不同,我们使用else关键字输出不同的提示信息。
for
for是JavaScript中的循环语句关键字,使用它可以重复执行指定次数的代码块。
示例代码:
for (let i = 0; i < 5; i++) {
console.log(i);
}
在上面的示例中,我们使用for循环输出0到4的数字。
while
while是另一种循环语句关键字,它会在指定条件为真时,重复执行指定代码块。
示例代码:
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
在上面的示例中,我们使用while循环输出0到4的数字。
break
break关键字用于跳出循环。当break语句执行时,循环会立即停止并继续执行循环之后的代码。
示例代码:
for (let i = 0; i < 10; i++) {
if (i === 5) {
break;
}
console.log(i);
}
在上面的示例中,当i的值为5时,使用break跳出循环。
continue
continue关键字用于终止当前循环迭代,并在下一个迭代开始前,继续执行循环。
示例代码:
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue;
}
console.log(i);
}
在上面的示例中,当i的值为2时,使用continue跳过当前迭代。
switch
switch是JavaScript中的多分支语句关键字,用于根据不同条件执行相应的代码块。
示例代码:
let day = 3;
switch (day) {
case 1:
console.log('Monday');
break;
case 2:
console.log('Tuesday');
break;
default:
console.log('Other day');
}
在上面的示例中,根据变量day的值,使用switch语句输出不同的日期名称。
try/catch/finally
try、catch和finally关键字用于定义异常处理代码块。try代码块用于包含可能会抛出异常的代码,catch代码块用于捕获并处理异常,finally代码块用于在任何情况下都执行的代码。
示例代码:
try {
undefinedFunction();
} catch (error) {
console.error('An error occurred: ' + error);
} finally {
console.log('End of try/catch block');
}
在上面的示例中,我们调用了一个未定义的函数,try代码块中的代码将会抛出异常,然后被catch捕获并打印错误信息,最后finally代码块会输出结束信息。
class
class是ES6引入的关键字,用于定义类。类是JavaScript中一种用于创建对象的模板。
示例代码:
class Dog {
constructor(name, age) {
this.name = name;
this.age = age;
}
bark() {
console.log('Woof! Woof!');
}
}
let myDog = new Dog('Buddy', 3);
console.log(myDog.name); // Buddy
myDog.bark(); // Woof! Woof!
在上面的示例中,我们使用class关键字定义了一个名为Dog的类,包含构造函数和一个bark方法。然后创建了一个myDog实例,并调用其方法。
extends
extends是用于类继承的关键字。通过使用extends关键字,我们可以创建一个类,它继承另一个类的属性和方法。
示例代码:
class Animal {
constructor(name) {
this.name = name;
}
eat() {
console.log('Nom nom nom');
}
}
class Cat extends Animal {
meow() {
console.log('Meow!');
}
}
let myCat = new Cat('Whiskers');
console.log(myCat.name); // Whiskers
myCat.eat(); // Nom nom nom
myCat.meow(); // Meow!
在上面的示例中,我们定义了一个父类Animal和一个子类Cat,Cat类通过extends关键字继承了Animal的属性和方法。
async/await
async和await是用于处理异步操作的关键字。async函数返回一个Promise对象,await可以等待Promise对象的解析,并将结果赋给变量。
示例代码:
function delay(ms) {
return new Promise(resolve => {
setTimeout(resolve, ms);
});
}
async function example() {
console.log('Start');
await delay(2000);
console.log('Waited for 2 seconds');
}
example();
在上面的示例中,我们定义了一个delay函数返回一个Promise对象,然后通过async和await实现了一个延时输出的示例。
typeof
typeof是用于获取变量类型的关键字。它会返回一个表示变量类型的字符串。
示例代码:
let num = 10;
let str = 'hello';
let bool = true;
console.log(typeof num); // number
console.log(typeof str); // string
console.log(typeof bool); // boolean
在上面的示例中,我们使用typeof关键字获取不同类型变量的类型。
instanceof
instanceof是用于检查对象是否属于特定类的关键字。它会返回一个布尔值表示结果。
示例代码:
class Vehicle {}
class Car extends Vehicle {}
let myCar = new Car();
console.log(myCar instanceof Car); // true
console.log(myCar instanceof Vehicle); // true
在上面的示例中,我们使用instanceof关键字检查一个对象是否是某个类或其父类的实例。
delete
delete是用于删除对象的属性或数组中的元素的关键字。
示例代码:
let person = {
name: 'Alice',
age: 30
};
delete person.age;
console.log(person); // {name: 'Alice'}
在上面的示例中,我们使用delete关键字删除了对象person的属性。
in
in关键字用于检查对象是否包含指定属性。
示例代码:
let person = {
name: 'Alice',
age: 30
};
console.log('name' in person); // true
console.log('job' in person); // false
在上面的示例中,我们使用in关键字检查对象person是否包含指定属性。
极客笔记