国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > 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> 

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

圖片精選

主站蜘蛛池模板: 平阳县| 房山区| 临安市| 吐鲁番市| 娱乐| 天津市| 邹平县| 徐汇区| 张家川| 广宗县| 那坡县| 顺昌县| 全椒县| 邵阳县| 那坡县| 中阳县| 广丰县| 黄龙县| 望奎县| 孝感市| 改则县| 菏泽市| 金塔县| 民勤县| 泰安市| 阿拉善盟| 普安县| 阜新市| 怀集县| 博乐市| 金门县| 启东市| 毕节市| 大渡口区| 白银市| 牟定县| 宁化县| 房产| 汉沽区| 政和县| 三门峡市|