JavaScript 对象方法是包含函数定义的对象属性。对象是一组属性的集合,而属性则是名称(或键)与值之间的关联。当属性的值是一个函数时,这种属性称为方法。
你可以直接将方法添加到对象中,或者将其作为属性值添加。方法也可以接收参数并返回值。对象方法是向对象添加功能的一种强大方式。它们允许你封装代码并使其可重用。
语法
遵循以下语法来向对象添加一个方法:
const obj = {
sum: function () {
}
}
obj.sum();
在上述语法中,'sum' 是定义在 'obj' 对象内部的方法。你可以像访问对象属性一样访问该方法,并添加一对括号来调用该方法。
示例
在下面的例子中,我们在 'company' 对象中添加了 getInfo() 方法。getInfo() 方法返回包含对象属性的字符串。
这里,我们使用了 'this' 关键字来在对象内部访问对象属性。'this' 关键字代表对象本身。
之后,我们使用对象作为引用调用了该方法。
<html>
<body>
<p>公司信息</p>
<p id="output"> </p>
<script>
const company = {
companyName: "Tutorials Point",
companyWebsite: "www.tutorialspoint.com",
getInfo: function () {
return "公司名称: " + this.companyName + "<br>网站: " + this.companyWebsite;
},
}
document.getElementById("output").innerHTML = company.getInfo();
</script>
</body>
</html>
输出:
公司信息
公司名称: Tutorials Point
网站: www.tutorialspoint.com
对象方法简写
ES6 提供了一种定义对象方法的最短方式。
语法
遵循以下语法来向对象添加一个方法:
const Obj = {
sum() {
}
}
Obj.sum();
像之前的例子一样,你可以访问并在上述语法中调用该方法。
示例
在下面的例子中,我们定义了 getInfo() 方法,就像前面的例子一样。
<html>
<body>
<p id="output"> </p>
<script>
const employee = {
name: "John Doe",
age: 32,
getInfo() {
return "员工的名字是 " + this.name + " 并且他的年龄是 " + this.age + " 岁。";
},
}
document.getElementById("output").innerHTML = employee.getInfo();
</script>
</body>
</html>
输出:
员工的名字是 John Doe 并且他的年龄是 32 岁。
示例
下面的例子定义了 'nums' 对象中的 getSum() 方法。getSum() 方法接收两个参数并返回它们的和。
我们在调用该方法时传递了数字参数。
<html>
<body>
<p id="output">2 和 3 的和是 </p>
<script>
const nums = {
getSum(a, b) {
return a + b;
}
}
document.getElementById("output").innerHTML += nums.getSum(2, 3);
</script>
</body>
</html>
输出:
2 和 3 的和是 5
更新或添加对象的方法
在 JavaScript 中,更新或添加一个新的方法到对象与更新或添加新的属性到对象相同。你可以使用点符号或方括号符号来更新或添加方法到对象。
示例
下面的例子定义了 'nums' 对象中的 getSum() 方法。
之后,我们在 nums 对象中添加了 getMul() 方法。我们通过传递两个参数来调用 getMul() 方法以获取它们的乘积。
<html>
<body>
<p id="output">2 和 3 的乘积是 </p>
<script>
const nums = {
getSum(a, b) {
return a + b;
}
}
nums.getMul = function (a, b) {
return a * b;
}
document.getElementById("output").innerHTML += nums.getMul(2, 3);
</script>
</body>
</html>
输出:
2 和 3 的乘积是 6
使用内置方法
像字符串、数字、布尔值等 JavaScript 对象也包含了内置方法。你可以通过将对象作为引用来执行它们。
示例
在下面的例子中,我们定义了一个包含数值的 'num' 变量。之后,我们使用了 toString() 方法将数字转换为字符串。
<html>
<body>
<p id="demo"> </p>
<script>
const output = document.getElementById("demo");
const num = new Number(20);
let str = num.toString();
output.innerHTML += "将数字转换为字符串后: " + str + "<br>";
output.innerHTML += "转换后的数据类型: " + typeof str;
</script>
</body>
</html>
输出:
将数字转换为字符串后: 20
转换后的数据类型: string