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