js之建構函式

2021-10-10 13:53:21 字數 2227 閱讀 7320

建構函式的執行流程

將通過該建構函式建立的物件稱為該類的例項

this的情況

function person(name,age)

; console.log

(this)

; //per

}var per = new person

("張三", 18)

; var per1 = new person

("李四", 28)

; per.say()

; //hello

console.log

(per.say===per1.say)

; //false

function person(name,age)

person.prototype.say=function()

; var per = new person

("張三", 18)

; var per1 = new person

("李四", 28)

; per.say()

; //張三

console.log

(per.say===per1.say)

; //true

console.log

(person.prototype===per.__proto__)

; //true

console.log

(person.prototype===per.__proto__===per1.__proto__) //false

console.log

(person.prototype.constructor===person) //true

console.log

(per instanceof person)

; //true

console.log

(person.prototype)

; //say()

constructor()

console.log

(person.prototype.prototype)

; //undefined

console.log

(per.__proto__)

; //say()

constructor()

console.log

(per.__proto__.__proto__)

; //原型的constructor

(),裡面有hasownprototype()

console.log

(per.__proto__.__proto__.__proto__)

;//null

function myclass() 

myclass.prototype.name = "張三";

var mc = new myclass();

// 使用in檢查物件中是否含有某個屬性時,如果物件中沒有,但原型中有,也會返回true

console.log("name" in mc); //true

// 只能找自身的屬性,如果沒有則返回false

console.log(mc.hasownproperty("name")); //false

**通過tostring(),不同的瀏覽器列印效果不同**

function person(name,age)

person.prototype.tostring=function()

var per = new person

("張三",18)

; var per1 = new person

("李四",20)

; console.log

(per.tostring()

);

console.log

(per1.tostring()

);console.log

(per)

; console.log

(per1)

;

JS高階之建構函式

先建立object物件,再動態新增屬性 方法 起始時不確定物件內部資料 語句太多 var a newobject p.name tom p.age 18p.setname function name p.setname jack console.log p.name,p.age script 使用 ...

js建構函式

1 經典例項,涵蓋全域性變數,區域性變數,變數宣告提公升,物件,上下文,閉包等知識 var num 4 var obj this.num 2 num 3 alert num var fn obj.fn window.num 8 num nan num 4 fn function alert num ...

JS建構函式

建立乙個物件可以字面量建立或建構函式建立 字面量建立物件例如 字面量建立物件 var p1 但如果需要建立多個同一型別 屬性和方法都相同 的物件,使用字面量不合適,可以使用建構函式建立 宣告建構函式的語法和普通函式相同,但是建構函式的函式名首字母大寫 function student name,st...