JavaScript對象詳解之對象屬性的添加
一,什么是對象?
英文名object,翻譯成中文就是對象。用英語的角度來說object就是物體實體,即使他看不見摸不著。中文的對象指的是女朋友。在計算機中,用英語的角度理解對象,就是說:放在內(nèi)存里面的復(fù)雜數(shù)據(jù)集合,也叫做數(shù)據(jù)與方法的封裝,是一種編程邏輯概念。
函數(shù)是對數(shù)據(jù)與代碼的封裝,假如再把函數(shù)及函數(shù)外的數(shù)據(jù)進行封裝,那就是object,即對象。
二,創(chuàng)建一個對象
將一些函數(shù)與對象封裝起來就是對象,所謂封裝在語法層面就是,把函數(shù)和變量用英文大括號{}包起來。使用:key:value的形式,value可以是對象的值,也可以是對象的地址。
key的值可以不符合標(biāo)識符的命名規(guī)范,但是必須使用引號引起來,比如'12qw'=1。每個鍵值對之間使用英文逗號隔開。
//創(chuàng)建一個obj對象
var obj1 = {
str1: 'woaini',
"10p": 10
};function f() {
console.log(1)
};
var obj1 = {
str1: 'woaini',
"10p": 10,
fun: f,
fun1: function() {
console.log(2)
}
};
obj1.fun();
obj1.fun1();如果一個鍵的值是一個函數(shù),則稱這個鍵名為這個對象的方法。如果一個鍵的值是基本數(shù)據(jù)類型,則稱這個鍵名為這個對象的屬性。
三,對象的嵌套
即對象的屬性仍然可以是一個對象。運算符.表示getattr的意思,即訪問對象屬性。
var obj1 = {
str1: 'woaini',
"10p": 10,
fun1: function() {
console.log(2)
},
obj_inn: obj2 = {
num: 1
}
};
console.log(obj1.obj_inn.num);四,對象的屬性與修改
1,使用點.運算符
var obj1 = {
str1: 'woaini',
};
console.log(obj1.str1);2,使用[]符號
var obj1 = {
str1: 'woaini',
};
console.log(obj1['str1'])記住鍵需要加上引號。
3,修改屬性
var obj1 = {
str1: 'woaini',
};
obj1.str1 = 666
console.log(obj1['str1'])五,給對象添加屬性
var obj1 = {
};
obj1.name = 'xiaoming';
obj1['age'] = 10;
console.log(obj1.age, obj1.name);六,查看與刪除對象的屬性
1,使用Object.keys(obj)方法查看對象所有屬性
var obj1 = {
str1: 'woaini',
};
obj1.str1 = 666
obj1.age = 18
console.log(Object.keys(obj1))
// [ 'str1', 'age' ]2,使用delete()方法刪除對象屬性
var obj1 = {
str1: 'woaini',
};
obj1.str1 = 666
obj1.age = 18
console.log(delete obj1.age)
// true刪除一個對象里不存在的屬性不僅不會報錯而且還會返回true。當(dāng)試圖刪除一個無法刪除的屬性時,則會返回false。刪除對象屬性:實際上是與相關(guān)的對象進行解綁。
3,使用增強版for循環(huán)遍歷對象元素
var obj1 = {
str1: 'woaini',
};
obj1.str1 = 666
obj1.age = 18
for (var item in obj1) {
console.log(obj1[item])
}七,Object對象方法
這里講解關(guān)于Object對象的一些知識,它類似于基類,是所有對象的老大。
1,Object對象的本身方法
Object本身就是一個對象,可以給他添加屬性和方法。利用鍵值對形式給對象添加的方法叫做Object本身方法。只能使用Object.funcname()來執(zhí)行。
Object.add = function() {
console.log(1)
}
Object.add()2,Object對象自己的實例方法
使用Object.prototype.name()形式添加的方法稱為對象的實例方法??梢员蝗我鈱ο笫褂?。
function f() {
console.log(1)
};
Object.prototype.fun = f;
var obj = {}
obj.fun()八,函數(shù)與對象注意點
1,函數(shù)體里調(diào)用其他函數(shù)
可以再一個函數(shù)的函數(shù)體里面調(diào)用另一個函數(shù),即函數(shù)名+()。
2,函數(shù)體行數(shù)不超過50行
每個函數(shù)的函數(shù)體不超過50行,如果超過的話最好拆分,使用函數(shù)搭積木實現(xiàn)功能。
總結(jié)
到此這篇關(guān)于JavaScript對象詳解之對象屬性添加的文章就介紹到這了,更多相關(guān)js對象屬性添加內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
script標(biāo)簽中的defer和async使用技巧說明
這篇文章主要介紹了script標(biāo)簽中的defer和async使用技巧,包含他們的下載順序和執(zhí)行順序,以及使用場景需要的朋友可以參考下2023-02-02
JS通過ajax + 多列布局 + 自動加載實現(xiàn)瀑布流效果
這篇文章主要介紹了JS通過ajax + 多列布局 + 自動加載來實現(xiàn)瀑布流效果,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05
微信小程序 導(dǎo)入圖標(biāo)實現(xiàn)過程詳解
這篇文章主要介紹了微信小程序 導(dǎo)入圖標(biāo)實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
JS網(wǎng)頁在線獲取鼠標(biāo)坐標(biāo)值的方法
這篇文章主要介紹了JS網(wǎng)頁在線獲取鼠標(biāo)坐標(biāo)值的方法,涉及javascript操作頁面窗口位置元素的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02

