麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

深入理解JavaScript中的對象

2024-05-06 16:21:21
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了深入理解JavaScript中的對象,是JS入門學習中的基礎知識,需要的朋友可以參考下

JavaScript是一種面向對象編程(OOP)語言。一種編程語言可以被稱為面向對象的,它為開發者提供了四種基本功能:

封裝 - 存儲相關的信息,無論是數據或方法,還是對象

聚合 - 存儲一個對象到另一個對象的內部

繼承 - 類的能力依賴于另一個類(或類數),用于其部分的屬性和方法

多態性 - 編寫函數或者方法,在各種不同的方式工作

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

對象屬性:

對象的屬性可以是任何三種基本數據類型的,或者任何抽象數據類型,如另一個對象。對象屬性通常是內部使用的對象的方法的變量,但也可以是用于整個頁面全局可見的變量。

用于添加屬性的目的語法是:

 

 
  1. objectName.objectProperty = propertyValue; 

示例 :

下面是一個簡單的例子來說明如何利用“稱號”的文件對象的屬性來獲取文檔標題:

 

 
  1. var str = document.title; 

對象的方法:

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

方法可用于一切從顯示對象的屏幕上的內容,以對一組本地的屬性和參數執行復雜的數學運算是有用的。

例子:

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

 

 
  1. document.write("This is test"); 

用戶定義的對象:

所有用戶定義的對象和內置對象被稱為對象的對象的后代。

new 操作符:

new運算符用于創建對象的實例。要創建一個對象,new運算符后面是構造方法。

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

 

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

Object() 構造函數:

構造函數是用來創建和初始化對象的函數。 JavaScript提供了一個特殊的構造函數調用Object()來構建的對象。Object()構造的返回值被分配給一個變量。

變量包含一個引用到新的對象。分配給該對象的屬性是不變量,并且不使用var關鍵字來定義。

示例 1:

這個例子演示了如何創建一個對象:

 

 
  1. <html> 
  2. <head> 
  3. <title>User-defined objects</title> 
  4. <script type="text/javascript"
  5. var book = new Object(); // Create the object 
  6. book.subject = "Perl"// Assign properties to the object 
  7. book.author = "Mohtashim"
  8. </script> 
  9. </head> 
  10. <body> 
  11. <script type="text/javascript"
  12. document.write("Book name is : " + book.subject + "<br>"); 
  13. document.write("Book author is : " + book.author + "<br>"); 
  14. </script> 
  15. </body> 
  16. </html> 

示例 2:

這個例子演示如何創建一個對象,一個用戶定義的函數。此處this關鍵字用于指已傳遞給函數的對象:

 

 
  1. <html> 
  2. <head> 
  3. <title>User-defined objects</title> 
  4. <script type="text/javascript"
  5. function book(title, author){ 
  6. this.title = title;  
  7. this.author = author; 
  8. </script> 
  9. </head> 
  10. <body> 
  11. <script type="text/javascript"
  12. var myBook = new book("Perl""Mohtashim"); 
  13. document.write("Book title is : " + myBook.title + "<br>"); 
  14. document.write("Book author is : " + myBook.author + "<br>"); 
  15. </script> 
  16. </body> 
  17. </html> 

定義方法的對象:

前面的示例演示了如何構造函數創建對象并分配屬性。但是,我們需要通過分配方法,以它來完成一個對象的定義。

例子:

下面是一個簡單的例子來說明如何與一個對象添加一個函數:

 

 
  1. <html> 
  2. <head> 
  3. <title>User-defined objects</title> 
  4. <script type="text/javascript"
  5.  
  6. // Define a function which will work as a method 
  7. function addPrice(amount){ 
  8. this.price = amount;  
  9.  
  10. function book(title, author){ 
  11. this.title = title;  
  12. this.author = author; 
  13. this.addPrice = addPrice; // Assign that method as property. 
  14.  
  15. </script> 
  16. </head> 
  17. <body> 
  18. <script type="text/javascript"
  19. var myBook = new book("Perl""Mohtashim"); 
  20. myBook.addPrice(100); 
  21. document.write("Book title is : " + myBook.title + "<br>"); 
  22. document.write("Book author is : " + myBook.author + "<br>"); 
  23. document.write("Book price is : " + myBook.price + "<br>"); 
  24. </script> 
  25. </body> 
  26. </html> 

with 關鍵字:

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

指定為參數的對象就成為接下來的塊的持續時間的默認對象。為對象的屬性和方法可以在不命名的對象。

語法

 

 
  1. with (object){ 
  2. properties used without the object name and dot 

例子:

 

 
  1. <html> 
  2. <head> 
  3. <title>User-defined objects</title> 
  4. <script type="text/javascript"
  5.  
  6. // Define a function which will work as a method 
  7. function addPrice(amount){ 
  8. with(this){ 
  9. price = amount;  
  10. function book(title, author){ 
  11. this.title = title;  
  12. this.author = author; 
  13. this.price = 0; 
  14. this.addPrice = addPrice; // Assign that method as property. 
  15. </script> 
  16. </head> 
  17. <body> 
  18. <script type="text/javascript"
  19. var myBook = new book("Perl""Mohtashim"); 
  20. myBook.addPrice(100); 
  21. document.write("Book title is : " + myBook.title + "<br>"); 
  22. document.write("Book author is : " + myBook.author + "<br>"); 
  23. document.write("Book price is : " + myBook.price + "<br>"); 
  24. </script> 
  25. </body> 
  26. </html> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 久久精品伊人网 | 粉嫩蜜桃麻豆免费大片 | 91精品国产综合久久婷婷香 | hd极品free性xxx一护士 | 国产女同疯狂激烈互摸 | 欧美人成在线 | 精品久久久久久久久亚洲 | 超碰97人人艹 | 国产色视频免费 | 精国品产一区二区三区有限公司 | 成人一级黄色大片 | 黄色一级片毛片 | 欧美国产成人在线 | 欧美一级高潮 | 激情黄页 | 国产精品午夜在线观看 | 欧美四级在线观看 | a视频在线免费观看 | 色av成人天堂桃色av | 亚洲3atv精品一区二区三区 | 国产午夜电影在线观看 | 欧美毛片 | 久久国产经典 | 日韩激情 | 日韩毛片免费观看 | 久久99精品久久久久久秒播蜜臀 | av7777777| 99爱视频| 国产一级爱c视频 | 成人在线视频精品 | 青草av.久久免费一区 | 久久久成人一区二区免费影院 | 日本欧美一区二区 | 欧美一级黄色免费看 | 日韩黄色影视 | 婷婷中文字幕一区二区三区 | 在线成人av | 亚洲一区动漫 | 97香蕉超级碰碰久久免费软件 | 欧美日韩一区,二区,三区,久久精品 | 国产高清美女一级毛片久久 |