網(wǎng)站只做靜態(tài)頁面安全受到影響蘭州seo整站優(yōu)化服務(wù)商
Object 和 Function 都是 JavaScript 自帶的函數(shù)對(duì)象
在 JavaScript 中,萬物皆對(duì)象,你要一個(gè)嗎?new Object() 啊!
當(dāng)然,就好比同樣為人,也區(qū)分普通人和天才。
對(duì)象也是有分類的,分為 普通對(duì)象 和 函數(shù)對(duì)象。
而 Object 和 Function 都是 JavaScript 自帶的函數(shù)對(duì)象。
function fun1() {};const fun2 = function() {};const fun3 = new Function();const obj1 = {};const obj2 = new Object();const obj3 = new fun1();console.log(typeof Object); // functionconsole.log(typeof Function); // functionconsole.log(typeof fun1); // functionconsole.log(typeof fun2); // functionconsole.log(typeof fun3); // function? ?console.log(typeof obj1); // objectconsole.log(typeof obj2); // objectconsole.log(typeof obj3); // object
在上面代碼中,fun1、fun2、fun3?都是函數(shù)對(duì)象,obj1、obj2、obj3?都是普通對(duì)象。
?原型對(duì)象
其中每個(gè)?函數(shù)對(duì)象?都有一個(gè)?prototype?屬性,這個(gè)屬性的指向被稱為這個(gè)函數(shù)對(duì)象的?原型對(duì)象(簡(jiǎn)稱原型)。
function Person() {};Person.prototype.name = 'jsliang';Person.prototype.sayName = function() {console.log(this.name);};const person1 = new Person();person1.sayName(); // jsliangconst person2 = new Person();person2.sayName(); // jsliang// 這兩個(gè)實(shí)例對(duì)應(yīng)的原型方法 sayName 都是一樣的console.log(person1.sayName === person2.sayName); // true
參考:jsliang 求職系列 - 02 - 原型與原型鏈 - 掘金