Module 03 · JavaScript Programming for Web ApplicationsWeb 应用 JavaScript 编程
JavaScript: Functions and PrototypesJavaScript 函数与原型
学习目标
观看本视频后,您将能够:
- 描述 JavaScript 函数。
- 描述 JavaScript 原型。
- 演示如何创建自定义对象。

JavaScript 函数
函数的定义与结构
函数 是一段代码块,声明后可在脚本的任意位置调用。
函数的组成部分:
function关键字。- 函数名。
- 参数列表:用括号
()包裹,参数是可选的。 - 函数体:用大括号
{}包裹的逻辑代码块。 - 返回语句 (可选):通过
return将值返回给调用者。

函数示例:加法与拼接
function add(a, b) {
return a + b; // 返回数字相加或字符串拼接的结果
}
- 参数类型:不需要显式声明参数的数据类型,类型由传递的值决定。
- 返回类型:由返回值的类型决定。
- 行为:
- 如果参数为数字,则执行加法。
- 如果参数为字符串,则执行拼接操作。

创建对象的函数
通过函数构造对象时,可以使用 this 关键字引用当前实例。
示例:Car 对象
function Car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
var car = new Car("Toyota", "Corolla", 2020);
console.log(car.make); // 输出 "Toyota"
this关键字:- 引用当前对象实例。
- 区分全局变量与局部变量。
- 添加方法:
Car.prototype.getName = function () {
return `${this.make} ${this.model} ${this.year}`;
};
console.log(car.getName()); // 输出 "Toyota Corolla 2020"

JavaScript 原型
原型的定义
原型 (Prototype) 是用于定义对象共享属性和方法的一种机制。
- 继承:所有通过
new关键字创建的对象都从其原型继承属性和方法。 - 灵活性:通过修改原型,可以为对象添加新的属性或方法,而无需修改构造函数。
原型的特点
- 动态继承:
- 改变原型的属性或方法,所有使用该原型的对象都会自动继承这些更改。
- 便捷扩展:
- 通过一次调用即可为对象添加新的属性或方法。

原型的示例
为 Car 对象添加方法
Car.prototype.getAge = function () {
return new Date().getFullYear() - this.year;
};
- 效果:
- 所有
Car的实例都会自动继承getAge方法。 - 无需修改已有对象。
- 所有
使用原型的优势
- 减少重复:所有实例共享原型中的方法,节省内存。
- 动态性:随时可以为现有对象添加新功能。



自执行函数 (Self-Executing Functions)
定义
自执行函数 是一种立即运行的匿名函数,其内部的变量和函数与外部代码隔离。
语法:
(function () {
console.log("自执行函数已运行");
})();
- 特点:
- 立即执行,不需要显式调用。
- 内部变量与函数不会污染全局命名空间。
- 用途:
- 初始化数据。
- 声明 DOM 元素。

总结
| 概念 | 描述 |
|---|---|
| 函数 | 代码块,声明后可在脚本中调用。参数类型和返回类型动态决定。 |
this 关键字 |
引用当前对象实例,区分全局变量和局部变量。 |
| 原型 (Prototype) | 用于定义对象共享的属性和方法。通过修改原型,可以动态添加功能,所有实例自动继承更改。 |
| 自执行函数 | 立即执行的匿名函数,内部变量和函数与外部代码隔离,常用于初始化数据或 DOM 操作。 |
通过这些概念,您可以更高效地构建和管理 JavaScript 对象,同时利用函数与原型优化代码结构和性能! 🚀
