JS-02對象的基本使用

目錄

1?創建一個對象

2?對象屬性操作

2.1?獲取屬性

第一種方式:.語法

第二種方式:[]語法

2種方式的差異

2.2 設置屬性

2.3 刪除屬性

3 案例


1?創建一個對象

創建一個對象,包含了兩個屬性,兩個方法:

? ? var student={?name:"李白" , //student有一個name屬性,值為"李白"grade:"初一" ,//a、student有一個say屬性,值為一個函數//b、student有一個say方法say:function(){console.log("你好");},run:function(speed){console.log("正在以"+speed+"米/秒的速度奔跑");}}

對象是鍵值對的集合:對象是由屬性和方法構成的 (ps:也有說法為:對象里面皆屬性,認為方法也是一個屬性)
+ name是屬性 ? ?grade是屬性
+ say是方法 ? ? run是方法

2?對象屬性操作

2.1?獲取屬性

第一種方式:.語法

+ student.name ? ? ?獲取到name屬性的值,為:"李白"
+ student.say ? ? ? 獲取到一個函數

第二種方式:[]語法

+ student["name"] ? 等價于student.name
+ student["say"] ? ?等價于student.say

2種方式的差異

+ .語法更方便,但是坑比較多(有局限性),比如:
? ? - .后面不能使用js中的關鍵字、保留字(class、this、function。。。)
? ? - .后面不能使用數字
```js
? ? var obj={};
? ? obj.this=5; //語法錯誤
? ? obj.0=10; ? //語法錯誤
```

+ []語法使用更廣泛
? ? - o1[變量name]
? ? - ["class"]、["this"]都可以隨意使用 `obj["this"]=10`
? ? - [0]、[1]、[2]也可以使用 ? ? ??
? ? ? ? - `obj[3]=50 = obj["3"]=50` ? ??
? ? ? ? - 思考:為什么obj[3]=obj["3"] ?


? ? - 甚至還可以這樣用:["[object Array]"]
? ? ? ? - jquery里面就有這樣的實現
? ? - 也可以這樣用:["{abc}"]
? ? ? ? - 給對象添加了{abc}屬性

2.2 設置屬性

設置屬性
+ `student["gender"]="男"` ? ?等價于: ? ?`student.gender="男"`
? ? - 含義:如果student對象中沒有gender屬性,就添加一個gender屬性,值為"男"
? ? - 如果student對象中有gender屬性,就修改gender屬性的值為"男"
+ 案例1:`student.isFemale=true`
+ 案例2:`student["children"]=[1,2,5]`
+ 案例3:為student添加方法
```js
? ? student.toShanghai=function(){ ??
? ? ? ? console.log("正在去往上海的路上") ??
? ? }
```

2.3 刪除屬性

刪除屬性
+ delete student["gender"] ? ? ?
+ delete student.gender
?

3 案例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body></body>
<script>//1、創建對象var person = {gender: "男",height: 185,toShanghai: function () {console.log('去上海啦');}};//2、獲取屬性console.log(person.gender);         //"男"console.log(person["height"]);      //185//3、設置屬性person.address = "xx市xx區";person.height = 190;//4、刪除屬性delete person.gender;delete person.a;        //這段代碼沒有意義,也不會報錯//delete關鍵字只能刪除對象中的屬性,不能刪除變量// var a=100;// delete a;//錯誤的理解//清空對象person = {};      //person對象不再具有任何屬性person = null;//表示將person變量的值賦為null,從此以后person不再是一個對象了
</script></html>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13994.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13994.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13994.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

17. FastDFS面試題匯總

Java全棧面試題匯總目錄-CSDN博客 1. 什么是FastDFS&#xff1f; FastDFS是用C語言編寫的一款開源的分布式文件系統。FastDFS為互聯網量身定制&#xff0c;充分考慮了冗余備份、負載均衡、線性擴容等機制&#xff0c;并注重高可用、高性能等指標&#xff0c;使用FastDFS很容易…

什么是線程安全?如何保證線程安全?

目錄 一、引入線程安全 &#x1f447; 二、 線程安全&#x1f447; 1、線程安全概念 &#x1f50d; 2、線程不安全的原因 &#x1f50d; 搶占式執行&#xff08;罪魁禍首&#xff0c;萬惡之源&#xff09;導致了線程之間的調度是“隨機的” 多個線程修改同一個變量 修改…

ESP8266實現獲取天氣情況

利用太極創客提供的ESP8266 心知天氣庫獲取天氣情況并顯示 心知天氣庫地址&#xff1a; ESP8266-心知天氣: 本庫主要功能為使用ESP8266物聯網開發板通過心知天氣 API 獲取天氣等信息。 clone到本地: git clone https://gitee.com/taijichuangke/ESP8266-Seniverse.git 安裝該…

跟著Kimi學習結構化提示詞:19套內置提示詞都在這里了!

大家好&#xff0c;我是木易&#xff0c;一個持續關注AI領域的互聯網技術產品經理&#xff0c;國內Top2本科&#xff0c;美國Top10 CS研究生&#xff0c;MBA。我堅信AI是普通人變強的“外掛”&#xff0c;所以創建了“AI信息Gap”這個公眾號&#xff0c;專注于分享AI全維度知識…

C++ Primer Plus第十六章復習題

1、考慮下面的 類聲明 class RQ1 { private:char * st; public:RQ1(){st new char [1]; strcpy(st,"");}RQ1(const RQ1 & rq){st new char [strlen(rq.st)1]; strcpy(st,rq.st);}~RQ1(){delete [] st};RQ & OPERATOR (cosnt RQ &rq); }; 將它轉換為使…

Java技術深度解析:高級面試問題與精粹答案(一)

Java 面試問題及答案 問題1&#xff1a;請解釋什么是Java虛擬機&#xff08;JVM&#xff09;以及它的作用是什么&#xff1f; 答案1&#xff1a; Java虛擬機&#xff08;JVM&#xff09;是一個可以執行Java字節碼的虛擬計算機。它是一個抽象的計算機&#xff0c;能夠通過軟件…

【筆記】樹(Tree)

一、樹的基本概念 1、樹的簡介 之前我們都是在談論一對一的線性數據結構&#xff0c;可現實中也有很多一對多的情況需要處理&#xff0c;所以我們就需要一種能實現一對多的數據結構--“樹”。 2、樹的定義 樹&#xff08;Tree&#xff09;是一種非線性的數據結構&#xff0…

作物水文模型AquaCrop---用于評估作物對水的需求、灌溉計劃和管理策略

AquaCrop是由世界糧食及農業組織&#xff08;FAO&#xff09;開發的一個先進模型&#xff0c;旨在研究和優化農作物的水分生產效率。這個模型在全球范圍內被廣泛應用于農業水管理&#xff0c;特別是在制定農作物灌溉計劃和應對水資源限制方面顯示出其強大的實用性。AquaCrop 不…

如何在海豚調度器自動監測報表是否跑出數據

在數據倉庫報表開發時,有的報表依賴的表多,雖然在海豚調度任務上是跑成功,但實際上沒有跑出數據來。開發人員負責的任務和表越來越多,每天去手動檢查費時費力,不去理睬默認是成功的,等到業務或產品發現問題時,又給人一種不專業不負責的感覺。 比較好的方式是用代碼進行自…

Python知識點復習

文章目錄 Input & OutputVariables & Data typesPython字符串重復&#xff08;字符串乘法&#xff09;字符串和數字連接在一起print時&#xff0c;要強制類型轉換int為str用input()得到的用戶輸入&#xff0c;是str類型&#xff0c;如果要以int形式計算的話&#xff0c…

SkyWalking 介紹及部署

1、SkyWalking簡介2、SkyWalking的搭建 2.1 部署Elasticsearch2.2 部署SkyWalking-Server2.3 部署SkyWalking-UI3、應用接入 3.1 jar包部署方式3.2 dockerfile方式3.3 DockerFile示例4、SkyWalking UI 界面說明 4.1 儀表盤 4.1.1 APM &#xff08;1&#xff09;全局維度&#x…

UBUNTU22.04無法安裝nvidia-driver-550 依賴于 nvidia-dkms-550 (<= 550.54.15-1)

類似的報錯信息&#xff0c;就是卡在了nvidia-dkms-550無法安裝 Loading new nvidia-550.40.07 DKMS files… Building for 6.5.0-15-generic Building for architecture x86_64 Building initial module for 6.5.0-15-generic ERROR: Cannot create report: [Errno 17] File e…

前端canvas項目實戰——在線圖文編輯器(十):小地圖MiniMap(上)

目錄 前言一、 效果展示二、 實現步驟0. 行動前的思考1. 為小地圖更新「背景圖」2. 為小地圖更新「滑動窗口」2.1 獲取新的滑動窗口「寬高」2.2 獲取新的滑動窗口「位置」3. 為小地圖更新「遮罩」后記前言 上一篇博文中,我們引入了「邏輯畫布」的概念,讓整個工具的頁面看起來…

JPA 3萬字面試寶典

目錄 什么是JPA? JPA和Hibernate有什么區別? 什么是ORM(對象關系映射)? 什么是Entity?

【機器學習】在電子商務(淘*拼*京*—>抖)的應用分析

機器學習與大模型&#xff1a;電子商務的新引擎 一、電子商務的變革與挑戰二、機器學習與大模型的崛起三、機器學習與大模型在電子商務中的應用實踐個性化推薦精準營銷智能客服庫存管理與商品定價 四、總結與展望 隨著互聯網的飛速發展&#xff0c;電子商務已經成為我們生活中不…

NDIS小端口驅動(四)

NDIS中斷相關 1. 注冊和取消注冊中斷&#xff1a; 微型端口驅動程序調用 NdisMRegisterInterruptEx 來注冊中斷。 驅動程序分配并初始化 NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 結構&#xff0c;以指定中斷特征和函數入口點&#xff0c;驅動程序將結構傳遞給 NdisMRegister…

【三劍客和正則表達式】

文章目錄 學習目標一、什么是三劍客1.三劍客grep2.三劍客sed3.三劍客awk4.正則過濾例子15.正則過濾例子2 總結 學習目標 1.學會使用 grep 2.學會使用 sed 3.學會使用 awk 4.學會使用正則表達式一、什么是三劍客 正則三劍客&#xff1a;grep sed awk 1.三劍客grep # 擅長過濾…

【MySQL精通之路】查詢優化器的使用(8)

MySQL通過影響查詢計劃評估方式的系統變量、可切換優化、優化器和索引提示以及優化器成本模型提供優化器控制。 服務器在column_statistics數據字典表中維護有關列值的直方圖統計信息&#xff08;請參閱第10.9.6節“Optimizer統計信息”&#xff09;。與其他數據字典表一樣&am…

#Ethereum 現貨ETF 問題匯總 轉

專題&#xff1a; #Ethereum 現貨ETF 問題匯總&#xff0c;包括了多數小伙伴們的疑問&#xff0c;有任何忽略請留言給我&#xff0c;我會補充。 1. #ETH 現貨ETF何時公布&#xff1f; 一般來說會在北京時間的5月24日凌晨2點至4點之間&#xff0c;不排除稍微延后到凌晨6點的可能…

基于大語言模型的應用

在AI領域&#xff0c;大語言模型已成為備受矚目的焦點&#xff0c;尤其在自然語言處理&#xff08;NLP&#xff09;領域&#xff0c;其應用愈發廣泛。BLM作為一種多任務語言建模方法&#xff0c;旨在構建一個具備多功能的強大模型。在給定文本和查詢條件下&#xff0c;該模型能…