關於 JS 中物件和類的理解

2021-10-23 21:44:59 字數 2642 閱讀 5667

js 內建的物件(如 number 等)。

宿主環境物件(如 window,document 等)。

自己建立的物件 。

字面量形式建立物件(屬性,方法,get,set 型屬性)。

成員訪問:兩種訪問方式(. )。訪問物件中沒有的屬性時,會返回 undefined。級聯訪問(物件裡面巢狀物件)。

/* 字面量建立物件 */

var student = ,

// get 和 set 方法

getname: function(),

setname: function(val),

// 內部子物件

self:

}console.log(student.getname())

console.log(student['age'])

student.setname('wangwenyan')

console.log(student.name)

student.tostring()

console.log(student['self']['name'])

console.log(student.self.age)

object 函式建立物件,object.defineproperty 定義與修改屬性。object.defineproperties 定義和修改多個屬性。還可以用o.***='***' 或者 o['***']='***' 去新增屬性。

/* object建立物件 */

var o = new object();// 內部已存在 tostring 等內部方法

/* 使用 object.defineproperty() 定義與修改單個屬性 */

object.defineproperty(o,'name',)

console.log(o.name)

/* 使用 object.ddefineproperties() 定義與修改多個屬性 */

object.defineproperties(o,,

gender:,

height:,

set:function(val)

}})console.log(o['salary'])

console.log(o['gender'])

o.age = 19

o['stuno'] = '1704240131'

console.log(o.age)

console.log(o.stuno)

console.log(o.height)

o.height=234

物件工廠方式(建構函式),建立物件。 

這裡涉及到原型相關的知識

【js原型的作用】:可以把公共的屬性和方法,加到原型物件中,新建立物件時,可以 節省記憶體空間。後續的 繼承,基於原型,形成原型鏈去實現。

function person(name,age)

}var per = new person('wuhao',21);

console.log(per.name)

console.log(per.age)

per.tostring()

function person(name, age)

var person = new person('wuhao',23)// 使用js本身提供的 new

console.log(person.name)

console.log(person.age)

console.log(person instanceof person)

function new(f) 外部變數

var o =

return function()

}var person1 = new(person)('xiner',20)// 使用自己實現的 new

console.log(person1.name)

console.log(person1.age)

console.log(person1 instanceof person)

成員的遍歷: for(el in o),反射性遍歷,無序。可以使用 object.keys(o)  輔助排序,進行有序操作。

檢查物件是否有某個值:'***' in o 或者o.hasownproperty('***') 。

成員的刪除:delete o.'***' ,有些屬性是不能刪除的 。

writable:規定是否可改寫。

enuerable:規定是否可列舉(決定遍歷時是否出現)。

configurable:規定是否可配置 。

通過 object.getownpropertydescriptor(o,'***') 得到自己屬性的描述器。

型別判斷:typeof 和 instanceof 。

對js中的物件和包裝類的理解

1.什麼是物件?物件就是乙個事物擁有自己的屬性和功能比如說車是乙個物件他有自己的顏色,名字,大小,這些屬性,他還有自己的功能 能跑,能載人 個人理解的,可能不到位 2.物件建立的方式 var obj plainobject 物件字面量 物件直接量 var obj newobject 1.系統自帶的建...

JS 理解JS中的物件

物件是object資料型別的值 物件是一組沒有特定順序的值 其中每個值都有乙個名字,從而,物件看起來就像是一組名值對。建立並定義物件的方法 1.var person new object person.name carolina person.age 29 person.job dream pers...

理解js中的this物件

關於this物件,一直不是很好理解,我也經常被困惑,因為this物件經常會因為 書寫的方式不同而導致似乎自己認知中的this物件被改變了,但實際上this還是那個this。一句話 this 物件是函式在執行時基於函式的執行環境而繫結的 如在全域性環境中執行的函式,this就等於window,而當使用...