变量
变量是存储数据的容器。在JavaScript中,可以使用var、let或const关键字声明变量。例如:
var x = 10; // 使用var声明变量x并赋值为10
let y = 20; // 使用let声明变量y并赋值为20
const z = 30; // 使用const声明常量z并赋值为30(不能修改)
数据类型
JavaScript中有五种基本数据类型:Number、String、Boolean、Null和Undefined。例如:
var num = 10; // Number类型
var str = "Hello, World!"; // String类型
var bool = true; // Boolean类型
var n = null; // Null类型
var u; // Undefined类型
运算符:
JavaScript支持多种运算符,包括算术运算符、比较运算符、逻辑运算符等。例如:
var a = 10;
var b = 20;
var c = a + b; // 加法运算符
var d = a - b; // 减法运算符
var e = a * b; // 乘法运算符
var f = a / b; // 除法运算符
var g = a % b; // 取余运算符
var h = a > b; // 大于运算符
var i = a < b; // 小于运算符
var j = a >= b; // 大于等于运算符
var k = a <= b; // 小于等于运算符
var l = a == b; // 等于运算符
var m = a != b; // 不等于运算符
var n = a && b; // 逻辑与运算符
var o = a || b; // 逻辑或运算符
控制结构
JavaScript支持if-else语句、switch语句、for循环、while循环、do-while循环等控制结构。例如:
// if-else语句
var age = 18;
if (age >= 18) {
console.log("成年人");
} else {
console.log("未成年人");
}
// switch语句
var day = "星期一";
switch (day) {
case "星期一":
console.log("星期一");
break;
case "星期二":
console.log("星期二");
break;
default:
console.log("其他");
}
// for循环
for (var i = 0; i < 5; i++) {
console.log(i);
}
// while循环
var j = 0;
while (j < 5) {
console.log(j);
j++;
}
// do-while循环
var k = 0;
do {
console.log(k);
k++;
} while (k < 5);
函数
函数是一段可重复使用的代码块。在JavaScript中,可以使用function关键字声明函数。例如:
function add(a, b) {
return a + b;
}
console.log(add(1, 2)); // 输出3
对象
对象是一组无序的属性和方法的集合。在JavaScript中,可以使用{}表示一个对象。例如:
var person = {
name: "张三",
age: 30,
sayHello: function() {
console.log("你好!");
}
};
console.log(person.name); // 输出张三
person.sayHello(); // 输出你好!
数组
数组是一组有序的元素集合。在JavaScript中,可以使用[]表示一个数组。例如:
var numbers = [1, 2, 3, 4, 5];
console.log(numbers[0]); // 输出1
numbers.push(6); // 向数组末尾添加元素6
console.log(numbers); // 输出[1, 2, 3, 4, 5, 6]
JavaScript提供了许多内置对象和方法,可以帮助我们更方便地操作数据和实现功能。以下是一些常用的内置对象和方法:
Math对象:提供了一系列数学相关的属性和方法,如圆周率、三角函数等。例如:
var pi = Math.PI; // 获取圆周率π的值
var sinValue = Math.sin(Math.PI / 2); // 计算正弦值
console.log(sinValue); // 输出1(因为sin(π/2) = 1)
Date对象:表示日期和时间。例如:
var now = new Date(); // 获取当前日期和时间
console.log(now); // 输出当前日期和时间(格式为:Wed Jul 07 2022 14:30:00 GMT+0800 (中国标准时间))
Array对象:提供了一系列数组操作的方法,如排序、查找、遍历等。例如:
var arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
arr.sort(); // 对数组进行升序排序
console.log(arr); // 输出[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
JSON对象:提供了将JavaScript对象转换为JSON字符串和将JSON字符串转换为JavaScript对象的方法。例如:
var obj = {name: "张三", age: 30};
var jsonStr = JSON.stringify(obj); // 将JavaScript对象转换为JSON字符串
console.log(jsonStr); // 输出{"name":"张三","age":30}
var jsonObj = JSON.parse(jsonStr); // 将JSON字符串转换为JavaScript对象
console.log(jsonObj); // 输出{name: "张三", age: 30}
JavaScript的事件处理机制允许我们在用户与网页交互时执行特定的代码。事件可以是鼠标点击、键盘按键、页面滚动等。以下是一些常用的事件处理方法:
onclick事件:当用户点击某个元素时触发。例如:
onmouseover事件:当鼠标指针移动到某个元素上时触发。例如:
悬停在这里
onkeydown事件:当用户按下某个键时触发。例如:
onload事件:当网页加载完成时触发。例如:
JavaScript的异步编程允许我们在不阻塞主线程的情况下执行耗时的操作。常见的异步编程方式有回调函数、Promise和async/await。以下是一些示例:
回调函数:通过将一个函数作为参数传递给另一个函数来实现异步操作。例如:
function asyncFunction(callback) {
setTimeout(function() {
callback('异步操作完成');
}, 1000);
}
asyncFunction(function(result) {
console.log(result); // 输出异步操作完成(1秒后)
});
Promise:一种更现代的异步编程方式,可以更好地处理异步操作的结果。例如
function asyncFunction() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('异步操作完成');
}, 1000);
});
}
asyncFunction().then(function(result) {
console.log(result); // 输出异步操作完成(1秒后)
});
async/await:一种简化Promise链的语法糖。例如:
async function asyncFunction() {
const result = await new Promise(function(resolve, reject) {
setTimeout(function() {
resolve