JavaScript自定义构造函数

在JavaScript中,我们可以使用构造函数来创建自定义对象。构造函数是一个特殊的函数,用于创建和初始化对象。

构造函数通过new关键字来调用,它会创建一个新的空对象,并将这个新对象作为构造函数的上下文(即this)来执行构造函数的代码。在构造函数中,我们可以定义对象的属性和方法。

下面是一个示例,展示了如何定义和使用构造函数:

javascript 复制代码
// 定义构造函数
function Person(name, age) {
  // 定义属性
  this.name = name;
  this.age = age;
  
  // 定义方法
  this.sayName = function() {
    console.log("My name is " + this.name);
  };
}

// 使用构造函数创建对象
var person1 = new Person("John", 25);
var person2 = new Person("Mary", 30);

// 访问对象属性
console.log(person1.name); // 输出: John
console.log(person2.age); // 输出: 30

// 调用对象方法
person1.sayName(); // 输出: My name is John
person2.sayName(); // 输出: My name is Mary

在上面的示例中,我们定义了一个名为Person的构造函数,它接受两个参数nameage。在构造函数内部,我们使用this关键字来定义对象的属性和方法。this.namethis.age分别表示对象的名字和年龄属性,this.sayName表示对象的sayName方法。

然后,我们使用new关键字来创建两个Person对象,并将它们分别赋值给person1person2变量。我们可以通过访问对象的属性来获取对象的属性值,通过调用对象的方法来执行对象的方法。

使用构造函数创建对象时,每个对象都有自己的属性和方法,这些属性和方法是独立的。这和使用对象字面量创建对象时,多个对象共享属性和方法的情况是不同的。

相关推荐
用户9385156350730 分钟前
React Router 进阶:路由守卫、登录鉴权与状态传递
前端·javascript·全栈
kyriewen34 分钟前
我重写了自己用了两年的防抖节流Hook——发现里面藏着3个隐藏bug
前端·javascript·面试
阿祖zu42 分钟前
芝士就是力量!开源私有化部署与 GitHub 双向同步的个人知识笔记 App
前端·后端·ios
漂流瓶jz1 小时前
Webpack开发环境:观察模式/webpack-dev-server/HMR热更新
前端·javascript·webpack
IT_陈寒1 小时前
SpringBoot自动配置失效?这个隐藏配置坑了我一整晚
前端·人工智能·后端
小爬的老粉丝1 小时前
Vue 3 文件预览生产排障:Worker/WASM 404、鉴权 Blob 与子路径
javascript·vue.js·wasm
凌涘1 小时前
前端路由(一):二十行代码实现 Hash 路由
前端
勾勾圈圈蛋蛋2 小时前
黑马Vue_day11:Vue3的watch,ref和reactive,vue2->vue3,defineOptions、Model
前端
AlloyTeamZy2 小时前
我发现,一个人做小游戏最难的,根本不是写代码
前端·人工智能·程序员
亲亲小宝宝鸭2 小时前
离谱架构系列——我在祖传代码里发现了【智子】
javascript