JavaScript對象


 JavaScript 中的所有事物都是對象:字符串、數值、數組、函數...……

所有事物都是對象

JavaScript 提供多個內建對象,比如 String、Date、Array 等等。 對象只是帶有屬性和方法的特殊數據類型。

  • 布爾型可以是一個對象。
  • 數字型可以是一個對象。
  • 字符串也可以是一個對象
  • 日期是一個對象
  • 數學和正則表達式也是對象
  • 數組是一個對象
  • 甚至函數也可以是對象

JavaScript對象

對象只是一種特殊的數據。對象擁有屬性方法

訪問對象屬性

屬性是與對象相關的值。

訪問對象屬性的語法是:

objectName.propertyName

這個例子使用了 String 對象的 length 屬性來獲得字符串的長度:

var message="Hello World!"; var x=message.length;

在以上代碼執行后,x 的值將是12

訪問對象的方法

方法是能夠在對象上執行的動作。

您可以通過以下語法來調用方法:

objectName.methodName()

這個例子使用了 String 對象的 toUpperCase() 方法來將文本轉換為大寫:

var message="Hello world!"; var x=message.toUpperCase();

在以上代碼執行后,x 的值將是:

HELLO WORLD!

創建 JavaScript 對象

通過 JavaScript,您能夠定義並創建自己的對象。

創建新對象有兩種不同的方法:

  • 使用 Object 定義並創建對象的實例。
  • 使用函數來定義對象,然后創建新的對象實例。

使用 Object

在 JavaScript 中,幾乎所有的對象都是 Object 類型的實例,它們都會從 Object.prototype 繼承屬性和方法。

Object 構造函數創建一個對象包裝器。

Object 構造函數,會根據給定的參數創建對象,具體有以下情況:

  • 如果給定值是 null 或 undefined,將會創建並返回一個空對象。
  • 如果傳進去的是一個基本類型的值,則會構造其包裝類型的對象。
  • 如果傳進去的是引用類型的值,仍然會返回這個值,經他們復制的變量保有和源對象相同的引用地址。
  • 當以非構造函數形式被調用時,Object 的行為等同於 new Object()。

語法格式:

// 以構造函數形式來調用 new Object([value])

value 可以是任何值。

以下實例使用 Object 生成布爾對象:

// 等價於 o = new Boolean(true); var o = new Object(true);

注意:

new 和不 new的區別:

  •  如果 new 了函數內的 this 會指向當前這個 person 並且就算函數內部不 return 也會返回一個對象。
  •  如果不 new 的話函數內的 this 指向的是 window。
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; return [this.firstname,this.lastname,this.age,this.eyecolor,this] } var myFather=new person("John","Doe",50,"blue"); var myMother=person("Sally","Rally",48,"green"); console.log(myFather) // this 輸出一個 person 對象 console.log(myMother) // this 輸出 window 對象
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM