JS系列 物件詳解

2021-09-24 07:27:10 字數 4118 閱讀 1562

1.1 「萬物皆物件」一**竟

1.1.1 都是物件

1.1.2 也有例外

typeof

true

//boolean

typeof

123//number

typeof

"str"

//string

typeof

undefined

//undefined

typeof

null

//object

複製**

1.1.3 結論:

1.2 到底什麼是物件?

var person = 

}

複製**

var name = "一燈"

複製**

1.3 物件的屬性和方法

1.4 建立物件的方式(這裡不作詳細討論)

通過字面量建立(最簡單的),即上面的那種

通過new object()

var person = new

object()

person.name = "一燈"

person.age = 23

person.task = function()

複製**

通過建構函式

通過object.create()

1.5 物件的賦值

var a = 10

var b = a

var b = 20

console.log(a) //a = 10,b的改變不會影響a

複製**

var person = 

var a = person

a.age = 24

console.log(person.age) = 24,受到了a的影響

複製**

2.1 屬性的訪問方式

objectname.property

objectname["property"] (注意加引號)

objectname[表示式] (表示式的結果必須是乙個屬性名,本質和第2種是一樣的)

//1

person.age

//2objectname["age"]

//3var a = "age"

objectname[a]

複製**

2.2 for...in遍歷屬性
var person = 

var str = ''

for (x in person)

console.log(str) //一燈 23 123456

複製**

2.3 新增屬性
var person = 

person.tel = 123456

console.log(person) //

複製**

var person = 

person.age = 24

console.log(person) //

複製**

2.4 刪除屬性
var person = 

delete person.age

console.log(person) //

複製**

2.5 屬性的屬性

3.1 this關鍵字(注意:這裡是指物件方法中的this,關於this單獨講)

var person = 

}person.show() //hello一燈

複製**

3.2 方法的訪問

3.3 新增方法

person.info = function () 

複製**

4.1 getter(使用get關鍵字)
var person = 

}console.log(person.getname) //一燈

複製**

4.2 setter(使用set關鍵字)
var person = 

}person.setname = "111"

console.log(person.name) //111

複製**

4.3 函式 vs 訪問器
//函式實現getter

var person =

}//getter:console.log(person.getname),語法更簡潔

console.log(person.getname()) //一燈

//函式實現setter

var person =

}//setter:person.setname = "111",語法和操作屬性一樣

person.setname(111)

console.log(person.name) //111

複製**

//setter

var person =

}person.sdetname = "111"

//setname拼錯,但是沒有報錯

console.log(person.name)

//函式

var person =

}person.sdetname(111) //setname拼錯,報錯了

console.log(person.name)

複製**

4.4 object.defineproperty()
var person = 

//getter

object.defineproperty(person, "getname",

})console.log(person.getname) //一燈

//setter

object.defineproperty(person, "setname",

})person.setname = 111

console.log(person.name) //111

複製**

function

person(name, age)

}var person = new person('一燈', 23)

person.show() //一燈-23

複製**

5.1 this關鍵字

5.2 新增屬性和方法到物件

//新增屬性

person.tel = 123456

//新增方法

person.task = function()

複製**

5.3 新增屬性和方法到建構函式
function

person(name, age) ,

this.task = function()

}複製**

5.4 內建的建構函式

function

person(name, age)

}person.prototype.tel = 123456

person.prototype.task = function()

var person = new person()

console.log(person.tel) //123456

person.task() //寫**!

複製**

6.1 object.defineproperty(object, property, descriptor)

6.2 object.defineproperties(object, descriptors)

6.3 object.keys(object)

6.4 object.freeze(object)

6.5 object.isfrozen(object)

6.6 object.seal(object)

6.7 object.issealed(object)

js內建物件詳解

1,math物件常用用方法 常用方法 功能返回值 math.pi 圓周率3.14 math.random 生成隨機數 0,1 之間的隨機數 math.floor 向下取整 整數math.ceil 向上取整 整數math.round 四捨五入取整注意 3.5 結果是 3 math.abs 取絕對值 m...

Js系列四 變數物件

在前面的文章中我們提到過變數物件 variable object 我們在js 中申明的所有變數都儲存在變數物件當中,除此之外變數物件中還可能包含以下內容。1 函式的引數 arguments,es6中廢棄 2 當前執行上下文的所有函式申明 通過function申明的函式 3 當前上下文的所有變數申明 ...

js物件導向系列 Function函式物件

function到底是什麼東西?1.function是最頂層的構造器,它構造了系統中所有的物件,包括object object是最頂層的物件,但要明確的知道object也是乙個函式,也是有function構成的 array,date等 2.一切都是物件,所以理論上理解function也是乙個物件,我...