原型和原型鏈 原型鏈是一種關係, 實例對象和原型對象之間的關係,關係是通過實例對象中瀏覽器使用的原型(__proto__)來聯繫的 自定義構造函數,通過實例化,創建實例對象 實例對象中__proto__是原型,瀏覽器使用的 構造函數中的prototype是原型,程式員使用的 //使用對象 >使用對象 ...
原型和原型鏈
原型鏈是一種關係, 實例對象和原型對象之間的關係,關係是通過實例對象中瀏覽器使用的原型(__proto__)來聯繫的
- 自定義構造函數,通過實例化,創建實例對象
- 實例對象中__proto__是原型,瀏覽器使用的
- 構造函數中的prototype是原型,程式員使用的
//使用對象---->使用對象中的屬性和對象中的方法,使用對象就要先有構造函數 //構造函數 function Person(name,age) { //屬性 this.name=name; this.age=age; //在構造函數中的方法 this.eat=function () { console.log("吃好吃的"); }; } //添加共用的屬性 Person.prototype.sex="男"; //添加共用的方法 Person.prototype.sayHi=function () { console.log("您好啊,怎麼這麼帥,就是這麼帥"); }; //實例化對象,並初始化 var per=new Person("小明",20); per.sayHi(); //如果想要使用一些屬性和方法,並且屬性的值在每個對象中都是一樣的,方法在每個對象中的操作也都是一樣,那麼,為了共用數據,節省記憶體空間,是可以把屬性和方法通過原型的方式進行賦值 console.dir(per);//實例對象的結構 console.dir(Person);//構造函數的結構 //實例對象的原型__proto__和構造函數的原型prototype指向是相同的 //實例對象中的__proto__原型指向的是構造函數中的原型prototype console.log(per.__proto__==Person.prototype); //實例對象中__proto__是原型,瀏覽器使用的 //構造函數中的prototype是原型,程式員使用的 //原型鏈:是一種關係,實例對象和原型對象之間的關係,關係是通過原型(__proto__)來聯繫的