JavaScript 作为前端开发的核心语言,其基础语法和数据类型是入门的关键。本文将通过实际代码示例,详解 JavaScript 的变量、数据类型、复合类型及常用交互功能,帮助初学者快速掌握核心概念。
变量是存储数据的容器,JavaScript 中通过 var
(ES5)、let
/const
(ES6)声明。基本数据类型是构建复杂程序的基础,包括以下 5 种:
// 基本数据类型示例
var a = 10; // 数字(整数)
var b = "50"; // 字符串(单引号/双引号包裹)
var c = 50.9; // 数字(小数)
var d = true; // 布尔类型(true/false)
var f; // 未赋值变量,默认值为 undefined
var e = null; // 空值(表示"无"的特殊值)
f
),直接使用 alert(f)
会弹出 undefined
当需要存储多个相关数据时,基本类型就不够用了。复合类型可以组合多种数据(包括基本类型和其他复合类型),最常用的是数组和对象。
数组用 []
表示,内部元素按顺序排列,可通过索引(从 0 开始)访问,支持任意数据类型(包括函数)。
// 数组定义:包含数字、字符串、布尔、函数等多种类型
var arr = [
50.8, // 数字
70,
'demo', // 字符串
true, // 布尔
undefined,
null,
[80, 64.6, "aaa"], // 嵌套数组(数组中的数组)
function change(a, b) { // 数组中的函数
console.log(a, b, "数组函数执行啦");
}
];
// 数组访问方式
console.log(arr[0]); // 访问第1个元素:50.8
console.log(arr[6][2]); // 访问嵌套数组的第3个元素:"aaa"(先取arr[6],再取其[2])
console.log(arr.length); // 获取数组长度:8(元素个数)
// 执行数组中的函数
arr[7](10, 20); // 调用第8个元素(函数),传入参数10和20
核心特点:
arr[索引]
)访问对象用 {}
表示,由键(属性名)和值(属性值) 组成,适合描述 "一个事物的多个特征"(如人有姓名、年龄、爱好等)。
// 对象定义:描述一个人的信息
var obj = {
name: "zhangsan", // 字符串属性
age: 20, // 数字属性
play: ['足球', '乒乓球', '篮球'], // 数组属性
friend: { // 嵌套对象(对象中的对象)
name: "lisi",
age: 21
},
jump: function(a, b) { // 函数属性(方法)
console.log(a, b, "jump函数执行啦");
}
};
// 对象访问方式
console.log(obj.name); // 访问name属性:"zhangsan"
console.log(obj.friend.age); // 访问嵌套对象的age:21(先取obj.friend,再取其age)
// 执行对象中的函数(方法)
obj.jump(1, 2); // 调用jump方法,传入参数1和2
核心特点:
obj.键名
或 obj['键名']
),与顺序无关obj.gender = "男"
)函数是封装的代码片段,用于实现特定功能,可接收参数、返回结果,是代码复用的核心。
// 1. 命名函数(有函数名)
var run = function change(a, b) {
console.log(a, b, "命名函数执行啦");
};
// 2. 匿名函数(无函数名,直接赋值给变量)
var eat = function(a, b) {
console.log(a, b, "匿名函数执行啦");
};
区别:
change
),但外部只能通过变量名(run
)调用(函数名仅在函数内部有效)eat
)调用函数定义后不会自动执行,需通过 函数名(参数)
调用:
run(1, 2); // 调用命名函数,传入参数1和2
eat("苹果", "香蕉"); // 调用匿名函数,传入参数"苹果"和"香蕉"
JavaScript 不仅能处理数据,还能与用户交互、控制执行时机,常用的有事件响应和定时器。
事件是用户的行为(如点击、鼠标移动),可通过 on+事件名
绑定处理函数(用户触发事件时执行)。
// 点击页面时触发:改变背景色为随机颜色
document.onclick = function() {
// 生成0-255的随机整数(RGB颜色范围)
var r = Math.ceil(Math.random() * 255);
var g = Math.ceil(Math.random() * 255);
var b = Math.ceil(Math.random() * 255);
// 设置页面背景色
document.body.style.background = `rgb(${r},${g},${b})`;
};
常用事件:
onclick
:点击(单击)ondblclick
:双击onmouseenter
:鼠标移入元素onmouseleave
:鼠标移出元素定时器用于延迟或周期性执行代码,有两种常用类型:
// 每2秒(2000毫秒)执行一次函数(改变背景色)
var timer = setInterval(function() {
var r = Math.ceil(Math.random() * 255);
var g = Math.ceil(Math.random() * 255);
var b = Math.ceil(Math.random() * 255);
document.body.style.background = `rgb(${r},${g},${b})`;
}, 2000);
// 停止定时器(需要时调用)
// clearInterval(timer); // 取消周期执行
特点:间隔固定时间重复执行,直到被 clearInterval
停止。
// 2秒后执行一次(仅执行一次)
var timer = setTimeout(function() {
console.log("2秒后执行啦");
}, 2000);
// 取消延迟执行(需在执行前调用)
// clearTimeout(timer); // 取消延迟执行
本文通过代码示例讲解了 JavaScript 的核心基础:
这些是 JavaScript 的基础,后续的 DOM 操作、异步编程等都依赖这些概念。建议多动手修改代码(如给数组添加元素、修改对象属性、调整定时器时间),观察运行结果,加深理解。