JS 函式類物件工具和例項類物件工具的區別

2021-10-23 16:24:17 字數 1422 閱讀 1293

摘要:

簡單寫下函式物件類工具和物件類工具的區別

一.函式類工具可以使用作用new來例項化物件,而物件例項不能

let funtoolobj = new functiontool();//可以例項化

let obj = new objutil();//會報錯

二.函式類工具使用prototype操作原型鏈,而物件類工具使用__proto__操作

三.函式類工具建構函式中的屬性包括原型鏈prototype上的,只有當例項化乙個物件出來才有值,而

物件類則在執行**時就已經存在

functiontool.fun();

console.log(funtoolobj.name1);//例項物件屬性//會覆蓋原型鏈上的屬性

四.函式類工具方法可以直接使用(非建構函式中,非原型鏈上的),無需例項化

五.上面也有提到,函式類工具不能使用原型鏈上的屬性、方法

// functiontool.protofun();//沒有例項化,會報錯

functiontool.fun();

console.log(funtoolobj.name1);//例項物件屬性//會覆蓋原型鏈上的屬性

//物件類工具

let functiontool = (function()

} functiontool.fun = function()

let __proto = functiontool .prototype;

//例項化之後可以使用

__proto.protofun = function()

__proto.name1 = "xiaye_prototype_1";

__proto.name2 = "xiaye_prototype_2";

return functiontool ;

})();

//物件類工具

let objtool = (function()

} objtool.__proto__.name = "xiaye__proto__";

return objtool;

})();

let funtoolobj = new functiontool();//可以例項化

// let obj = new objutil();//會報錯

// functiontool.protofun();//會報錯

functiontool.fun();

console.log(funtoolobj.name1);//例項物件屬性//會覆蓋原型鏈上的屬性

console.log(funtoolobj.name2);//例項物件原型鏈上的屬性

objtool.fun();//可以直接使用

python(類和物件之物件例項函式)

物件例項函式 物件例項函式 class people object 如果需要在建立物件的時候,給物件屬性賦值,就可以在初始化函式中傳遞引數,給屬性賦值,若不需要,就不用寫了 def init self 初始化函式可以不用傳遞引數值 可以直接給屬性賦乙個預設值 self.name 張三 self.ag...

python類物件和例項物件

類物件支援兩種操作 屬性引用和例項化。屬性引用 使用 python 中所有屬性引用所使用的標準語法 obj.name。有效的屬性名稱是類物件被建立時存在於類命名空間中的所有名稱。因此,如果類定義是這樣的 a example class i 12345 def f self return hello ...

類,物件,例項

之前一直將物件和例項區分不清楚,最近思考了下,整理如下 類 例項化 物件 例項是相對於某乙個具體類的概念,a物件是b類的例項。類是物件的集合 抽象 類例項化為物件,因此所謂的例項是相對類而言的,並不能說tom是例項,而是tom是student類的例項。但我們可以說tom是乙個物件。函式是functi...