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也是乙個物件,我...