JS高階---例項物件和建構函式之間的關係
阿新 • • 發佈:2020-08-18
例項物件和建構函式之間的關係:
1.例項物件是通過建構函式來建立的---建立的過程叫例項化 2. 如何判斷物件是不是這個資料型別? 1)通過構造器的方式例項物件.構造器==建構函式名字 2)物件instanceof建構函式名字 儘可能的使用第二種方式來識別,為什麼?原型講完再說//面向物件的思想是----抽象的過程---->例項化的過程 //小蘇這個人,姓名,年齡,性別, 吃飯,打招呼,睡覺 //自定義建構函式----->例項化物件 function Person(name,age,sex) { this.name=name;this.age=age; this.sex=sex; this.eat=function () { console.log("吃大蒜拌臭豆腐加榴蓮醬"); }; } //建構函式---->建立物件 var per=new Person("小蘇",38,"女"); //per.eat();//吃 //例項物件是通過建構函式來建立 //例項物件會指向自己的建構函式(暫時理解,是錯誤的) //把這個物件的結構顯示出來 console.dir(per); console.dir(Person);//例項物件的構造器(建構函式) //例項物件的構造器是指向Person的,結果是true,所以,這個例項物件per就是通過Person來建立的 console.log(per.constructor==Person);// console.log(per.__proto__.constructor==Person); console.log(per.__proto__.constructor==Person.prototype.constructor); //建構函式 function Animal(name) { this.name=name; }//例項物件 var dog=new Animal("大黃"); console.dir(dog);//例項物件 console.dir(Animal);//建構函式的名字 console.log(dog.__proto__.constructor==Person); console.log(dog.__proto__.constructor==Animal); //判斷這個物件是不是這種資料型別 console.log(dog.constructor==Animal); console.log(dog instanceof Person);