首頁  >  文章  >  web前端  >  JavaScript中物件屬性、方法、使用者定義的物件定義和用法詳解

JavaScript中物件屬性、方法、使用者定義的物件定義和用法詳解

伊谢尔伦
伊谢尔伦原創
2018-05-16 14:08:204653瀏覽

物件是由屬性。如果屬性包含一個函數,它被認為是一個物件的方法,否則,該屬性被認為是屬性。

物件屬性:

物件的屬性可以是任何三種基本資料類型的,或任何抽象資料類型,如另一個物件。物件屬性通常是內部使用的物件的方法的變量,但也可以是用於整個頁面全域可見的變數。

用來新增屬性的目的語法是:

objectName.objectProperty = propertyValue;

範例:

以下是一個簡單的例子來說明如何利用「稱號」的檔案物件的屬性來取得文檔標題:

var str = document.title;

物件的方法:

方法是讓物件做些什麼。一個函數和一個方法,所不同的是一個 function語句的一個獨立的單元和方法被附加到對象,並且可以通過這個關鍵字被引用之間的差別不大。

方法可用於一切從顯示物件的螢幕上的內容,以對一組本地的屬性和參數執行複雜的數學運算是有用的。
範例:

下面是一個簡單的例子來說明如何使用write()文檔物件的方法寫在文檔中的任何內容:

document.write("This is test");

使用者定義的對象:

所有使用者定義的物件和內建物件被稱為物件的物件的後代。
new 運算子:

new運算子用於建立物件的實例。要建立一個對象,new運算子後面是建構方法。

在下面的範例中,建構方法Object(), Array(), 和 Date().。這些建構函數是內建的 JavaScript 函數。

var employee = new Object();
var books = new Array("C++", "Perl", "Java");
var day = new Date("August 15, 1947");

Object() 建構子:

建構子是用來建立和初始化物件的函式。 JavaScript提供了一個特殊的建構子呼叫Object()來建構的物件。 Object()建構的回傳值被指派給一個變數。

變數包含一個引用到新的物件。分配給該物件的屬性是不變量,並且不使用var關鍵字來定義。
範例1:

這個範例示範如何建立一個物件:

<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>

範例2:

這個範例示範如何建立一個對象,一個使用者定義的函數。此處this關鍵字用於指已傳遞給函數的物件:

<html>
<head>
<title>User-defined objects</title>
<script type="text/javascript">
function book(title, author){
  this.title = title; 
  this.author = author;
}
</script>
</head>
<body>
<script type="text/javascript">
  var myBook = new book("Perl", "Mohtashim");
  document.write("Book title is : " + myBook.title + "<br>");
  document.write("Book author is : " + myBook.author + "<br>");
</script>
</body>
</html>

#定義方法的物件:

##前面的範例示範如何建構函數建立物件並分配屬性。但是,我們需要透過分配方法,以它來完成一個物件的定義。

範例:

下面是一個簡單的例子來說明如何與一個物件新增一個函數:

<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>

with 關鍵字:

with關鍵字作為一種速記的引用物件的屬性或方法。

指定為參數的物件就成為接下來的區塊的持續時間的預設物件。為物件的屬性和方法可以在不命名的物件。

語法

with (object){
  properties used without the object name and dot
}

範例:

<html>
<head>
<title>User-defined objects</title>
<script type="text/javascript">

// Define a function which will work as a method
function addPrice(amount){
  with(this){
    price = amount; 
  }
}
function book(title, author){
  this.title = title; 
  this.author = author;
  this.price = 0;
  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>

以上是JavaScript中物件屬性、方法、使用者定義的物件定義和用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn