JavaScript 对象方法


实例

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript <b>this</b> 关键词</h2>
  5. <p>在本例中,<b>this</b> 代表 <b>person</b> 对象。</p>
  6. <p>因为 person 对象“拥有” fullName 方法。</p>
  7. <p id="demo">
  8. <script>
  9. // 创建对象:
  10. var person = {
  11. firstName: "Bill",
  12. lastName : "Gates",
  13. id : 678,
  14. fullName : function() {
  15. return this.firstName + " " + this.lastName;
  16. }
  17. };
  18. // 显示来自对象的数据:
  19. document.getElementById("demo").innerHTML = person.fullName();
  20. </script>
  21. </body>
  22. </html>

this关键字

在函数定义中,这是指函数的“所有者”。

在上面的示例中, this 是拥有fullName函数的person对象。

换句话说,this.firstName意味着这个对象的firstName属性。

阅读更多请访问本站的 JavaScript this 关键词。


JavaScript 方法

JavaScript 方法是能够在对象上执行的动作。JavaScript 方法是包含函数定义的属性。

属性
firstNameBill
lastNameGates
age62
eyeColorblue
fullNamefunction() {return this.firstName + " " + this.lastName;}

方法是存储为对象属性的函数。


this 关键词

在 JavaScript 中,被称为 this 的事物,指的是拥有该 JavaScript 代码的对象。this 的值,在函数中使用时,是“拥有”该函数的对象。请注意 this 并非变量。它是关键词。您无法改变 this 的值。


访问对象方法

使用以下语法访问对象方法:

  1. objectName.methodName()

通常将fullName()描述为person对象的方法,将fullName描述为属性。

fullName属性将在用()调用时执行(作为函数)。

此示例访问person对象的fullName()方法:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript 对象</h2>
  5. <p>创建并应用对象方法</p>
  6. <p>方法实际上是存储为属性值的函数定义。</p>
  7. <p id="demo"></p>
  8. <script>
  9. const person = {
  10. firstName: "John",
  11. lastName: "Doe",
  12. id: 5566,
  13. fullName: function() {
  14. return this.firstName + " " + this.lastName;
  15. }
  16. };
  17. document.getElementById("demo").innerHTML = person.fullName();
  18. </script>
  19. </body>
  20. </html>

如果访问fullName属性,而不使用(),它将返回函数定义:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript 对象</h2>
  5. <p>方法实际上是存储为属性值的函数定义。</p>
  6. <p>如果访问fullName属性,而不使用(),它将返回函数定义:</p>
  7. <p id="demo"></p>
  8. <script>
  9. const person = {
  10. firstName: "John",
  11. lastName: "Doe",
  12. id: 5566,
  13. fullName: function() {
  14. return this.firstName + " " + this.lastName;
  15. }
  16. };
  17. document.getElementById("demo").innerHTML = person.fullName;
  18. </script>
  19. </body>
  20. </html>

向对象添加方法

向对象添加新方法很简单:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript 对象</h2>
  5. <p id="demo"></p>
  6. <script>
  7. const person = {
  8. firstName: "John",
  9. lastName: "Doe",
  10. id: 5566,
  11. };
  12. person.name = function() {
  13. return this.firstName + " " + this.lastName;
  14. };
  15. document.getElementById("demo").innerHTML =
  16. "我的父亲是 " + person.name();
  17. </script>
  18. </body>
  19. </html>

使用内置方法

向对象添加方法是在构造器函数内部完成的:

此示例使用String对象的 toUpperCase() 方法将文本转换为大写:

  1. var message = "Hello world!";
  2. var x = message.toUpperCase();

执行上述代码后,x的值为:

  1. HELLO WORLD!
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript 对象</h2>
  5. <p id="demo"></p>
  6. <script>
  7. const person = {
  8. firstName: "John",
  9. lastName: "Doe",
  10. id: 5566,
  11. };
  12. person.name = function() {
  13. return (this.firstName + " " + this.lastName).toUpperCase();
  14. };
  15. document.getElementById("demo").innerHTML =
  16. "我的父亲是 " + person.name();
  17. </script>
  18. </body>
  19. </html>

分类导航