使用函数

简介: 【8月更文挑战第26天】

对象方法:在 JavaScript 对象中定义和使用函数

在 JavaScript 中,对象方法是指作为对象属性存储的函数。这些方法使得对象能够执行动作,从而为对象提供行为。对象方法的调用与普通函数的调用类似,但它们与对象的其他属性一起存储在对象中。

定义对象方法

对象方法在对象字面量中定义,使用函数表达式作为属性的值。

基本语法:

let objectName = {
   
    propertyName: function() {
   
        // 方法体
    },
    // 其他属性或方法
};

调用对象方法

要调用对象方法,需要使用属性访问语法后跟一对圆括号 ()

调用方法示例:

let person = {
   
    firstName: "John",
    lastName: "Doe",
    fullName: function() {
   
        return this.firstName + " " + this.lastName;
    }
};

let name = person.fullName(); // "John Doe"
console.log(name);

对象方法的 this 关键字

在对象方法中,this 关键字通常指向调用该方法的对象。它允许方法访问和操作对象的其他属性。

使用 this 示例:

person.introduce = function() {
   
    console.log("Hello, my name is " + this.fullName());
};

person.introduce(); // Hello, my name is John Doe

访问对象属性与方法

如果你错误地以调用函数的方式访问对象的属性,但该属性实际上是一个方法,那么 JavaScript 会返回该方法的定义作为一个字符串。

错误访问示例:

let methodAsString = person.fullName; // "function() { return this.firstName + " " + this.lastName; }"
console.log(methodAsString);

代码示例

以下是一个包含多个方法的 JavaScript 对象的示例:

let person = {
   
    firstName: "Jane",
    lastName: "Doe",
    age: 30,

    // 对象方法:获取全名
    fullName: function() {
   
        return this.firstName + " " + this.lastName;
    },

    // 对象方法:介绍自己
    introduce: function() {
   
        console.log("Hello, my name is " + this.fullName() + " and I am " + this.age + " years old.");
    },

    // 对象方法:更新年龄
    updateAge: function(newAge) {
   
        this.age = newAge;
    }
};

// 调用方法
console.log(person.fullName()); // 输出: Jane Doe
person.introduce(); // 输出: Hello, my name is Jane Doe and I am 30 years old.

// 更新年龄
person.updateAge(31);
console.log(person.age); // 输出: 31
目录
相关文章
|
6月前
|
程序员 编译器 C++
函数介绍
函数介绍
67 1
|
6月前
|
程序员 C语言 Python
函数—C(上)
函数—C(上)
52 0
|
C语言
C语言知识点之 函数2
C语言知识点之 函数2
48 0
|
6月前
|
开发工具 Windows
GetMessage()函数使用时的注意
GetMessage()函数使用时的注意
76 0
|
算法 编译器 API
8.函数
8.函数
73 0
函数加强
在我们日常开发中,如果要遍历一个文件夹下的所有文件,通常使用递归来实现;
|
SQL 分布式计算 关系型数据库
not_in函数致错
Not in 函数-致错 我们开发当中有些业务逻辑会用到not in()这个函数, 岗位角度:不管是后端开发还是大数据开发还是数据分析师… 技术角度:不管是Mysql、Hive、Maxcompute…
146 0