JavaScript编程知识:对象Object概述

吐槽君 分类:javascript

正文

JavaScript是面向对象编程(OOP)语言。如果编程语言为开发人员提供了四种基本功能,则可以将其称为面向对象

  • 封装 - 在对象中存储相关信息(无论是数据还是方法)的功能。
  • 聚合 - 将一个对象存储在另一个对象中的能力。(PS:存在一定争议,国内普遍认为面向对象的特征是除此之外的三个)
  • 继承 - 类的某些属性和方法依赖于另一个类(或类的数量)的能力。
  • 多态性 - 编写一种以各种不同方式工作的函数或方法的能力。

对象由属性组成。如果属性包含函数,则将其视为对象的方法,否则将该属性视为属性。

一、对象属性

对象属性可以是三种基本数据类型中的任何一种,也可以是任何抽象数据类型,例如另一个对象。对象属性通常是在对象方法内部使用的变量,但也可以是在整个页面中使用的全局可见变量。

向对象添加属性的语法是:

objectName.objectProperty = propertyValue;

以下代码使用文档(PS:document,内置的系统属性)对象的“title”属性获取文档标题。

var str = document.title;

二、对象方法

方法是让对象做某事或让某事做完的功能。函数和方法之间存在细微差别:函数是一个独立的语句单元,一个方法附加到一个对象,可以通过this关键字引用。

以下是一个简单示例,说明如何使用document对象的write()方法在文档上写入任何内容。

document.write("This is test");

用户定义的对象

所有用户定义的对象和内置对象都是名为Object的对象的子类(PS:可以理解成Object的孩子)。

三、new操作符

new运算符用于创建对象的实例。要创建对象,new运算符后跟构造函数方法。

在以下示例中,构造函数方法是Object(),Array()和Date()。这些构造函数是内置的JavaScript函数。

JavaScript编程知识:对象Object概述

四、Object()构造函数

构造函数是一个创建和初始化对象的函数。JavaScript提供了一个名为Object()的特殊构造函数来构建对象。Object()构造函数的返回值分配给变量。该变量包含对新对象的引用。

上代码,demo1:

PS:以下代码,可以直接在自己的电脑上创建一个txt文件,把把内容,写到txt文件中。把文件的后缀名改为html就可以双击直接打开。为了更好的复制,截图下方,提供重复的文字版~

JavaScript编程知识:对象Object概述

<html>
 <head>
 <title>User-defined objects</title> 
 <script type = "text/javascript">
 var book = new Object(); // Create the object
 book.subject = "Perl"; // Assign properties to the object
 book.author = "Mohtashim";
 </script> 
 </head>

 <body> 
 <script type = "text/javascript">
 document.write("Book name is : " + book.subject + "<br>");
 document.write("Book author is : " + book.author + "<br>");
 </script> 
 </body>
</html>
 

PS:引用怎么理解呢?可能理解为,它只是一个表示,通过这个表示可以找到真正的实例对象。

输出结果:

Book name is : Perl 
Book author is : Mohtashim
 

demo2:

此示例演示如何使用用户定义的函数创建对象。下面这个关键字被用来指已传递给函数的对象。

JavaScript编程知识:对象Object概述

<html>
 <head>
 <title>User-defined objects</title>
 <script type = "text/javascript">
 // Define a function which will work as a method
 function addPrice(amount) {
 this.price = amount; 
 }

 function book(title, author) {
 this.title = title;
 this.author = author;
 this.addPrice = addPrice; // Assign that method as property.
 }
 </script> 
 </head>

 <body> 
 <script type = "text/javascript">
 var myBook = new book("Perl", "Mohtashim");
 myBook.addPrice(100);

 document.write("Book title is : " + myBook.title + "<br>");
 document.write("Book author is : " + myBook.author + "<br>");
 document.write("Book price is : " + myBook.price + "<br>");
 </script> 
 </body>
</html>
 

输出:

Book title is : Perl 
Book author is : Mohtashim 
Book price is : 100
 

回复

我来回复
  • 暂无回复内容