偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一篇文章教會(huì)你使用 JavaScript 創(chuàng)建對(duì)象

開發(fā) 前端
本文基于JavaScrip基礎(chǔ),介紹如何去創(chuàng)建一個(gè)對(duì)象,通過從最基礎(chǔ)的對(duì)象屬性,對(duì)象方法,使用new Object()創(chuàng)建構(gòu)造方法,最后介紹了對(duì)象的可變性,比較對(duì)象。通過案例的分析,能夠幫助讀者更快的理解對(duì)象。

[[442481]]

對(duì)象是由屬性和方法的集合組成的數(shù)據(jù)類型。

就像許多其他編程語言一樣,可以將JavaScript中的對(duì)象與現(xiàn)實(shí)生活中的對(duì)象進(jìn)行比較。

一、JavaScript基元

原始值是沒有屬性或方法的值。

在JavaScript中,有5種原始類型:

string、number、boolean、null、undefined。

1. 對(duì)象是變量

JavaScript變量只能包含一個(gè)值。

  1. <!DOCTYPE html> 
  2. <html> 
  3.     <title>JavaScript 變量只能包含一個(gè)值</title> 
  4.  
  5.     <body style="background-color: aqua;"
  6.  
  7.         <p> JavaScript變量只能包含一個(gè)值:</p> 
  8.  
  9.         <p id="output"></p> 
  10.  
  11.         <script> 
  12.             var user = "baidu.com"
  13.             document.getElementById("output").innerHTML = user
  14. </script> 
  15.  
  16.     </body> 
  17. </html> 

對(duì)象也是變量,但是對(duì)象可以包含許多值。

可以將對(duì)象寫為name:value對(duì),并用冒號(hào)(:)分隔。

  1. <script> 
  2. // 創(chuàng)建對(duì)象 
  3. var user = {firstName:"Json", lastName:"nhooo", age:22, location:"New Delhi"}; 
  4.  
  5. //顯示來自對(duì)象的數(shù)據(jù) 
  6. document.getElementById("para").innerHTML = user.firstName + 
  7. " lives in " + user.location; 
  8. </script> 

JavaScript對(duì)象是無序?qū)傩缘募稀?/p>

2. 對(duì)象屬性

屬性是對(duì)象中名稱和值之間的關(guān)聯(lián),并且可以包含任何數(shù)據(jù)類型。

屬性通常是指對(duì)象的特征。

3. 對(duì)象方法

方法是作為對(duì)象屬性值的函數(shù),因此是對(duì)象可以執(zhí)行的任務(wù)。

方法存儲(chǔ)在屬性中作為函數(shù)定義。

  1. getName  function() { 
  2.   返回 this.firstName + " " + this.lastName; 

注意:方法是作為屬性存儲(chǔ)的函數(shù)。

二、創(chuàng)建一個(gè)JavaScript對(duì)象

有多種創(chuàng)建新對(duì)象的方法:

  • 使用對(duì)象常量,它使用大括號(hào):{}。
  • 使用對(duì)象構(gòu)造函數(shù),它使用new Object()。
  • 或者,您可以先創(chuàng)建一個(gè)構(gòu)造函數(shù) ,然后示例化一個(gè)調(diào)用該函數(shù)的對(duì)象。

1. 使用對(duì)象常量

使用對(duì)象常量是創(chuàng)建JavaScript對(duì)象的最簡(jiǎn)單方法,使用對(duì)象常量,可以在一個(gè)語句中定義和創(chuàng)建一個(gè)對(duì)象。

案例:

創(chuàng)建一個(gè)具有四個(gè)屬性的新JavaScript對(duì)象:

  1. var user = {firstName:"維沙爾", lastName:"喬達(dá)里", age:22, location:"新德里"}; 

對(duì)象定義可以跨越多行:

  1. var user = { 
  2.   firstName: "維沙爾"
  3.   lastName : "喬達(dá)里"
  4.   age  : 22, 
  5.   location : "新德里" 
  6. }; 

2. 使用new Object()

使用對(duì)象構(gòu)造函數(shù)是創(chuàng)建JavaScript對(duì)象的另一種方法。

創(chuàng)建一個(gè)具有四個(gè)屬性的新JavaScript對(duì)象

例: 

  1. var user = new Object(); 
  2.  
  3. user.firstName = "維沙爾"
  4. user.lastName = "喬達(dá)里"
  5. user.age = 22; 
  6. user.location = "新德里"

注:

上面的兩個(gè)例完全相同。無需使用new Object()。

使用對(duì)象字面量是更常見和首選的方法,因?yàn)樗惶赡艹霈F(xiàn)不一致和意外結(jié)果。

3. 使用構(gòu)造函數(shù)

另外,例可以通過以下兩個(gè)步驟創(chuàng)建對(duì)象:

  • 通過編寫構(gòu)造函數(shù)定義對(duì)象類型(約定中使用大寫首字母)。
  • 使用new關(guān)鍵字創(chuàng)建對(duì)象的例。

下面的例通過編寫構(gòu)造函數(shù)定義對(duì)象類型:

  1. function User(fname, lname, age, loc) { 
  2.   this.firstName = fname; 
  3.   this.lastName = lname; 
  4.   this.age = age; 
  5.   this.location = loc; 
  6.  } 

可以創(chuàng)建一個(gè)名為user1的對(duì)象,如下所示:

  1. var user1 = new User("維沙爾""喬達(dá)里", 22, "新德里"); 

三、JavaScript對(duì)象是可變的

可變是一種可以更改的變量。在JavaScript中,只有對(duì)象和數(shù)組是可變的,不是原始值。

可變對(duì)象是一種對(duì)象,其狀態(tài)在創(chuàng)建后即可修改。不可變對(duì)象是一旦創(chuàng)建對(duì)象便無法更改其狀態(tài)的對(duì)象。字符串和數(shù)字是不可變的。

用一個(gè)例來理解這一點(diǎn):

  1. var immutableString = "Hello"
  2.    
  3.   // 在上面的代碼中,創(chuàng)建了一個(gè)帶有字符串值的新對(duì)象。 
  4.    
  5.   immutableString = immutableString + "World"
  6.    
  7.   // 我們現(xiàn)在將“World”附加到現(xiàn)有值。 

如果user是對(duì)象,則以下語句將不會(huì)創(chuàng)建該用戶的副本:

  1. var x = user;  // 這不會(huì)創(chuàng)建user副本. 

對(duì)象x不是user的副本,它是user。x和user是同一個(gè)對(duì)象。

對(duì)x的任何更改也將更改user,因?yàn)閤和user是相同的對(duì)象。

  1. var user = {firstName:"維沙爾", lastName:"喬達(dá)里", age:22, location:"新德里"}; 
  2.  
  3. var x = user
  4. x.location = "Goa";// 這將同時(shí)更改x.location和user.location 

比較對(duì)象

在JavaScript中,對(duì)象是引用類型。即使兩個(gè)不同的對(duì)象具有相同的屬性,它們也永遠(yuǎn)不會(huì)相等。

  1. // 兩個(gè)變量,兩個(gè)具有相同屬性的不同對(duì)象 
  2. var fruit = {name"apple"}; 
  3. var fruitbear = {name"apple"}; 
  4.  
  5. fruit == fruitbear;  // 返回 false 
  6. fruit === fruitbear; // 返回 false 

僅將同一對(duì)象引用與其自身進(jìn)行比較會(huì)得出true。

  1. // 兩個(gè)變量,一個(gè)對(duì)象 
  2. var fruit = {name"apple"}; 
  3. var fruitbear = fruit;  // 將fruit對(duì)象引用分配給fruitbear 
  4.  
  5. // 這里的fruit 和 fruitbear 都指向同一個(gè)對(duì)象 
  6. fruit == fruitbear; // 返回 true 
  7. fruit === fruitbear; // 返回 true 

四、總結(jié)

本文基于JavaScrip基礎(chǔ),介紹如何去創(chuàng)建一個(gè)對(duì)象,通過從最基礎(chǔ)的對(duì)象屬性,對(duì)象方法,使用new Object()創(chuàng)建構(gòu)造方法,最后介紹了對(duì)象的可變性,比較對(duì)象。通過案例的分析,能夠幫助讀者更快的理解對(duì)象。

歡迎大家積極嘗試,有時(shí)候看到別人實(shí)現(xiàn)起來很簡(jiǎn)單,但是到自己動(dòng)手實(shí)現(xiàn)的時(shí)候,總會(huì)有各種各樣的問題,切勿眼高手低,勤動(dòng)手,才可以理解的更加深刻。

代碼很簡(jiǎn)單,希望對(duì)你學(xué)習(xí)有幫助。

 

責(zé)任編輯:姜華 來源: 前端進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2020-11-13 08:14:28

JavaScript

2023-06-21 00:10:17

JSONWeb服務(wù)器JavaScript

2021-02-19 19:35:53

SVG 形狀元素

2019-10-17 19:15:22

jQueryJavaScript前端

2021-02-17 20:40:22

SVG圖像模式

2021-03-02 18:35:27

SVG開發(fā)空間

2020-12-01 09:36:35

SVG元素屬性

2021-05-29 10:20:54

GoModules語言

2021-09-15 10:00:33

Go語言Modules

2021-03-19 10:01:41

SVG畫多邊形Htm基礎(chǔ)

2021-02-24 10:14:04

PythonClassPython基礎(chǔ)

2020-12-16 08:07:28

語言基礎(chǔ)反射

2020-12-10 08:20:27

Python微博評(píng)論

2021-12-30 10:28:30

Python 微博評(píng)論

2020-10-22 09:08:34

JavaScript

2021-07-02 10:00:50

JavaScriptObject 函數(shù)

2024-09-02 14:07:05

2023-05-30 15:06:21

JavaScript屬性開發(fā)

2023-07-06 14:40:38

2023-07-25 16:06:57

JavaScript對(duì)象
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)