手把手教你做網(wǎng)站7seo推廣方案
一. 創(chuàng)建對象的三種方式
1.1 利用對象字面量創(chuàng)建對象
const p = {name:"kebi"
}
1.2 利用 new Object 創(chuàng)建對象
// const obj = new Object()// obj.uname = 'maidi'// console.log(obj)const obj = new Object({ uname: 'maidi' })
1.3 利用構(gòu)造函數(shù)創(chuàng)建對象
大寫字母開頭的函數(shù)
說明:
- 使用 new 關(guān)鍵字調(diào)用函數(shù)的行為被稱為實(shí)例化
- 實(shí)例化構(gòu)造函數(shù)時(shí)沒有參數(shù)時(shí)可以省略 ()
- 構(gòu)造函數(shù)內(nèi)部無需寫return,返回值即為新創(chuàng)建的對象
- 構(gòu)造函數(shù)內(nèi)部的 return 返回的值無效,所以不要寫return
- new Object() new Date() 也是實(shí)例化構(gòu)造函數(shù)
// 1. 構(gòu)造函數(shù) function Person(uname, age) {this.uname = unamethis.age = age}Person.sex = "99"// 2.new 關(guān)鍵字調(diào)用函數(shù)const p = new Person('老弟', 6)console.log(p)
實(shí)例化執(zhí)行過程 說明:
- 創(chuàng)建新對象
- 構(gòu)造函數(shù)this指向新對象
- 執(zhí)行構(gòu)造函數(shù)代碼,修改this,添加新的屬性
- 返回新對象
二. 實(shí)例成員&靜態(tài)成員
靜態(tài)成員 : 構(gòu)造函數(shù)上的屬性和方法稱為靜態(tài)成員(靜態(tài)屬性和靜態(tài)方法)
實(shí)例成員: 實(shí)例對象的屬性和方法即為實(shí)例成員
// 構(gòu)造函數(shù) function Person(uname, age) {// 省略實(shí)例成員}Person.eyes= 2Person.arms= 2// 靜態(tài)方法Person.walk = function(){// this指向Personconsole.log(this.eyes)}
說明:
- 構(gòu)造函數(shù)的屬性和方法被稱為靜態(tài)成員
- 一般公共特征的屬性或方法靜態(tài)成員設(shè)置為靜態(tài)成員
- 靜態(tài)成員方法中的 this 指向構(gòu)造函數(shù)本身
通過構(gòu)造函數(shù)創(chuàng)建的對象稱為實(shí)例對象,實(shí)例對象中的屬性和方法稱為實(shí)例成員。
// 構(gòu)造函數(shù) function Person(uname, age) {// }Person.eyes= 2Person.arms= 2// 靜態(tài)方法Person.walk = function(){// this指向Personconsole.log(this.eyes)}
說明:
- 實(shí)例對象的屬性和方法即為實(shí)例成員
- 為構(gòu)造函數(shù)傳入?yún)?shù),動(dòng)態(tài)創(chuàng)建結(jié)構(gòu)相同但值不同的對象
- 構(gòu)造函數(shù)創(chuàng)建的實(shí)例對象彼此獨(dú)立互不影響。