您好,登錄后才能下訂單哦!
小編給大家分享一下javascript對象的增刪改查怎么實現(xiàn),希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
嘿!這還用問嗎?對象不就是“你的女朋友” 嘛!,或許你以為我在胡說,但事實上確實就是。
看完下面這個定義,你就知道我說的對不對了…
現(xiàn)實生活中:萬物皆對象,對象是一個具體的事物,看得見摸得著的實物。如,一本書、一輛汽車、一個人都可以是"對象”,一個數(shù)據(jù)庫、一張網(wǎng)頁、一個與遠(yuǎn)程服務(wù)器的連接也可以是“對象”。
在 JavaScript 中,對象是一組無序的相關(guān)屬性和方法的集合,所有的事物都是對象,例如字符串、數(shù)值、數(shù)組、函數(shù)等。
對象是由屬性和方法組成的。
屬性:事物的特征,在對象中用屬性來表示(常用名詞)
方法:事物的行為,在對象中用方法來表示(常用動詞)
為什么需要“對象”?是為了化解你的孤獨與寂寞嘛,拜托老兄,不要那么膚淺好嘛!
找對象其他的不說,但她一定有一個作用:她能使你更加完整!
不信你看:
保存一個值時,可以使用變量,保存多個值(一組值)時,可以使用數(shù)組(對比python中的列表)。如果要保存一個人的完整信息呢?
例如,將“張三”的個人的信息保存在數(shù)組中的方式為:
var arr= [‘張三’,‘男’,168,154];
這樣確實存儲了數(shù)據(jù),但你是不是感覺他還不太完整!你知道168,154分別是什么嗎?這時候?qū)ο蟮淖饔镁腕w現(xiàn)出來了。
js 中的對象用{ }表示(對比python中的字典),表達(dá)結(jié)構(gòu)更清晰,更強大。
var obj = { name:'張三', sex:'男', height:168, weight:154, fun:function(){ console.log("我是張三!"); } }
里面的屬性或者方法我們采取鍵值對的形式鍵屬性名:值屬性值
多個屬性或者方法中間用逗號隔開的。
方法冒號后面跟的是一個匿名函數(shù)。
**對象字面量:**就是花括號{},里面包含了表達(dá)這個具體事務(wù)(對象)的屬性和方法。
var obj_1 = {}; //創(chuàng)建了一個空的對象
var obj_2 = new Object(); //創(chuàng)建了一個空的對象
為什么需要構(gòu)造函數(shù)呢?
var zhang = { name:'張三', sex:'男', height:168, weight:154, fun:function(){ console.log("我是張三!"); } } console.log(zhang); var li = { name:'李四', sex:'男', height:176, weight:154, fun:function(){ console.log("我是李四!"); } } console.log(li);
可以看到,我們用前面兩種創(chuàng)建方法對象,如果需要多一點且屬性和方法大都相同的對象時,這樣一個一個創(chuàng)建就顯得十分麻煩。
因此,我們可以利用函數(shù)的方法,重復(fù)這些相同的代碼,我們把這個函數(shù)就叫做構(gòu)造函數(shù)。
構(gòu)造函數(shù):是一種特殊的函數(shù),主要用來初始化 對象,即為對象成員變量賦初始值,它總與 new 運算符一起使用。我們可以把對象中一些公共的屬性和方法油取出來,然封裝到這個函數(shù)里面。
通俗的說:構(gòu)造函數(shù)就是把我們對象里面的一些相同的屬性和方法抽象出來封裝到函數(shù)里面。
//構(gòu)造函數(shù)的語法格式 function 構(gòu)造函數(shù)名(){<!--{C}%3C!%2D%2D%20%2D%2D%3E--> this.屬性 = 值; this.方法 = function () { } } new 構(gòu)造函數(shù)名 ();
function Star(name,age,sex){ this.name = name; this.age = age; this.sex = sex; } var hg = new Star('胡歌',35,'男'); //調(diào)用函數(shù)返回的是一個對象 console.log(hg); var ldh = new Star('劉德華',50,'男');
這樣創(chuàng)建對象就方便多了。
注:
1.構(gòu)造函數(shù)名字首字母要大寫。
2.我們構(gòu)造函數(shù)不需要 return 就可以返回結(jié)果。
3.我們調(diào)用構(gòu)造函數(shù)必須使用new 。
4.我們只要 new Star ()調(diào)用函數(shù)就創(chuàng)建一個對象。
new 在執(zhí)行時會做四件事情:
1.在內(nèi)存中創(chuàng)建一個新的空對象。
2.讓 this 指向這個新的對象。
3.執(zhí)行構(gòu)造函數(shù)里面的代碼,給這個新對象添加屬性和方法。
4.返回這個新對象(所以構(gòu)造函數(shù)里面不需要 return )。
var obj_1 = {} //創(chuàng)建了一個空的對象 //添加屬性及值 obj_1.name = 'aniu'; obj_1.sex = '男'; console.log(obj_1);
用關(guān)鍵字delete
var zhang = { name:'張三', sex:'男', height:168, weight:154, fun:function(){ console.log("我是張三!"); } } delete zhang.weight; // 刪除對象的體重 console.log(zhang);
直接對屬性賦新值就可以
var li = { name:'李四', sex:'男', height:176, weight:154, fun:function(){ console.log("我是李四!"); } } li.sex = '女'; // 修改對象的性別 console.log(li);
屬性:
console.log(li.name); //法一
console.log(li[‘sex’]); //法二
調(diào)用方法:
li.fun()
var li = { name:'李四', sex:'男', height:176, weight:154, fun:function(){ console.log("我是李四!"); } } console.log(li.name); //法一 console.log(li['sex']); //法二 li.fun(); //調(diào)用方法 function Star(name,age,sex){ this.name = name; this.age = age; this.sex = sex; this.work = function(work){ console.log(work); } } var hg = new Star('胡歌',35,'男'); //調(diào)用函數(shù)返回的是一個對象 hg.work("仙劍"); //調(diào)用方法
總之,這些crud操作和python中的字典十分的相似,很容易上手。
var li = { name:'李四', sex:'男', height:176, weight:154, } console.log(li.name); console.log(li.sex); console.log(li.height); console.log(li.weight);
像這樣輸出對象的屬性值很麻煩,因此可以用遍歷。
for … in 語句用于對數(shù)組或者對象的屬性進行循環(huán)操作
var li = { name:'李四', sex:'男', height:176, weight:154, } for (var k in li){ console.log(k); //k 變量 輸出得到的是屬性名 console.log(li[k]); // obj[k] 輸出得到的是屬性值 }
看完了這篇文章,相信你對“javascript對象的增刪改查怎么實現(xiàn)”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。