一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - 一篇文章教會你使用 JavaScript 創(chuàng)建對象

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

2021-12-28 23:47前端進階學習交流前端進階者 js教程

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

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

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

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

一、JavaScript基元

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

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

string、number、boolean、null、undefined。

1. 對象是變量

JavaScript變量只能包含一個值。

  1. <!DOCTYPE html> 
  2. <html> 
  3.     <title>JavaScript 變量只能包含一個值</title> 
  4.  
  5.     <body style="background-color: aqua;"
  6.  
  7.         <p> JavaScript變量只能包含一個值:</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> 

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

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

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

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

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

2. 對象屬性

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

屬性通常是指對象的特征。

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

3. 對象方法

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

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

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

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

二、創(chuàng)建一個JavaScript對象

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

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

1. 使用對象常量

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

案例:

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

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

對象定義可以跨越多行:

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

2. 使用new Object()

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

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

例:

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

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

注:

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

使用對象字面量是更常見和首選的方法,因為它不太可能出現(xiàn)不一致和意外結(jié)果。

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

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

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

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

  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)建一個名為user1的對象,如下所示:

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

三、JavaScript對象是可變的

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

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

用一個例來理解這一點:

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

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

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

對象x不是user的副本,它是user。x和user是同一個對象。

對x的任何更改也將更改user,因為x和user是相同的對象。

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

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

比較對象

在JavaScript中,對象是引用類型。即使兩個不同的對象具有相同的屬性,它們也永遠不會相等。

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

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

僅將同一對象引用與其自身進行比較會得出true。

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

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

四、總結(jié)

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

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

代碼很簡單,希望對你學習有幫助。

原文鏈接:https://mp.weixin.qq.com/s/sHlVGE6djuUdf5tNKqT1fw

延伸 · 閱讀

精彩推薦
  • js教程JavaScript中arguments的使用方法詳解

    JavaScript中arguments的使用方法詳解

    這篇文章主要給大家介紹了關(guān)于JavaScript中arguments的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    等待的L先生3612021-12-15
  • js教程繪制微信小程序驗證碼功能的實例代碼

    繪制微信小程序驗證碼功能的實例代碼

    這篇文章主要介紹了繪制微信小程序驗證碼功能的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參...

    WALL*E8682021-12-27
  • js教程JavaScript代碼實現(xiàn)簡單計算器

    JavaScript代碼實現(xiàn)簡單計算器

    這篇文章主要為大家詳細介紹了JavaScript代碼實現(xiàn)簡單計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    小蟲蟲~3992021-12-21
  • js教程一個參數(shù)驗證,學會 Nest.js 的兩大機制:Pipe、ExceptionFilter

    一個參數(shù)驗證,學會 Nest.js 的兩大機制:Pipe、ExceptionFilter

    前端做表單的驗證基本不用自己寫,有很多 validation 的庫,大家寫的也比較多了。后端的驗證大家可能寫的相對較少,今天我們就來學下后端框架 Nest.js 如...

    神光的編程秘籍10572021-12-28
  • js教程JavaScript的一些小技巧分享

    JavaScript的一些小技巧分享

    這篇文章主要介紹了JavaScript的一些小技巧分享,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下...

    小蘑菇8992021-12-27
  • js教程一篇文章看懂JavaScript中的回調(diào)

    一篇文章看懂JavaScript中的回調(diào)

    這篇文章主要給大家介紹了如何通過一篇文章看懂JavaScript中的回調(diào),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,...

    瘋狂的技術(shù)宅4732021-12-27
  • js教程詳解Typescript里的This的使用方法

    詳解Typescript里的This的使用方法

    這篇文章主要介紹了詳解Typescript里的This的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們...

    hardfist7092021-12-28
  • js教程如何在JavaScript中正確處理變量

    如何在JavaScript中正確處理變量

    這篇文章主要介紹了如何在JavaScript中正確處理變量,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下...

    瘋狂的技術(shù)宅10672021-12-20
主站蜘蛛池模板: 久久国产综合精品欧美 | 513热点 | 亚洲网站在线 | 日本熟hdx| 青青草综合网 | 欧美一区二区三区成人看不卡 | 全黄h全肉细节修仙玄幻文 全彩调教侵犯h本子全彩妖气he | 扒开老师两片湿漉的肉 | 99热久热这里只精品 | 日本黄色高清视频网站 | 按摩院已婚妇女中文字幕 | 国产成人免费片在线观看 | 国产 日韩 欧美 综合 | 国产精品aⅴ| 99久久99久久免费精品蜜桃 | 99年水嫩漂亮粉嫩在线播放 | 成人网址大全 | 国产成人精品.一二区 | 关晓彤被调教出奶水 | 亚洲国产欧美日韩在线一区 | 日韩精品一区二区三区毛片 | 蜜月aⅴ免费一区二区三区 蜜桃影像传媒推广 | 久99视频精品免费观看福利 | 男人操女人动图 | 爱情岛论坛亚洲永久入口口 | 男女天堂 | 9色视频在线观看 | 555www成人网| 国产成人一区二区三区影院免费 | 亚洲福利电影一区二区? | 欧美兽皇另类 | 私人chinese beauty| 四虎国产免费 | 麻豆网站在线观看 | 2020年精品国产午夜福利在线 | 成人中文字幕在线观看 | 呜嗯啊野战h呻吟男男双性 污小说在线阅读 | 国产男技师| 大伊香蕉在线精品不卡视频 | 国产午夜亚洲精品一区网站 | 国产高清精品自在久久 |