注释
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 函数。
四、Object()构造函数
构造函数是一个创立和初始化对象的函数。JavaScript 提供了一个名为 Object()的非凡构造函数来构建对象。Object()构造函数的返回值调配给变量。该变量蕴含对新对象的援用。
上代码,demo1:
PS:以下代码,能够间接在本人的电脑上创立一个 txt 文件,把把内容,写到 txt 文件中。把文件的后缀名改为 html 就能够双击间接关上。为了更好的复制,截图下方,提供反复的文字版~
<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:
此示例演示如何应用用户定义的函数创建对象。上面这个关键字被用来指已传递给函数的对象。
<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