原型对象指向可以改变

原型对象的指向改变

 function Person(age){

    	this.age=10;
    	//在构造函数中的方法
    }
   //人的原型对象的方法
   Person.prototype.eat=function(){
   	console.log("人的吃");
   }
	//学生的构造函数
	 function Student(){

	 }
	 Student.prototype.sayHi=function(){
	 console.log("学生hi");
	 };
	 //学生的原型,指向了一个人的实例对象
	 Student.prototype=new Person(10);

	 var stu=new Student();

	 stu.eat();
	 console.log(stu.age);
	 stu.sayHi();

原型对象指向了哪里

   function Person(age){

    	this.age=10;
    	//在构造函数中的方法
    }
   //人的原型对象的方法
   Person.prototype.eat=function(){
   	console.log("人的吃");
   }
   var per =new Person(10);
	 //原型对象指向了哪里
	 console.log(per.__proto__==Person.prototype);
	 console.log(per.__proto__.__proto__== Person.prototype.__proto__);
	 console.log(Person.prototype.__proto__==Object.prototype);
	 console.log(Object.prototype.__proto__);

如果原型对象的指向改变了,要先去添加方法

   //如果原型指向改变了,那么就应该在原型改变之后添加原型方法

   function Person(age){
   	this.age=age;
   }
   //指向改变了,
   //先添加原型的方法
   Person.prototype.eat=function(){
   	console.log("人在吃");
   }
   //学生构造函数
   function Student(sex){
   	this.sex=sex;
   }
   //学生的原型中添加方法---先在原型中添加

   //改变了原型对象的指向
   Student.prototype.sayHi=function(){
   	console.log("你好啊");
   }

   Student.prototype=new Person(10);

   var stu=new Person();

   stu.eat();
   stu.sayHi();

实例对象和原型对象重命名的问题

//原型对象实例对象
function Person(age,sex){
	this.age=age;
	this.sex=sex;
}
//
Person.prototype.sex="女";
var per=new Person(10,"男");

  

 

原文地址:https://www.cnblogs.com/liushisaonian/p/9459609.html

时间: 2024-10-29 07:31:17

原型对象指向可以改变的相关文章

js 原型理解(原型对象)

以前在网上搜了一些关于js原型的资料,看了过后,是有一部分理解,但是还不够全面,在这我就写写下关于js的原型. 看了下js高级程序设计,我对js原型的有了一定的理解.里面谈到我们创建对象时,如果一直手写一些相似的对象或者说里面有重复的属性时,会非常麻烦.列如: let a = { name: 'a', idnex: 1 } let b = { name: 'b', idnex: 2 } 为了解决这种问题,就出来了一些能创建对象的模式. //工厂模式 function createObj (nam

原型的指向改变

原型指向可以改变 实例对象的原型_proto_指向的是该对象所在的构造函数的原型对象 构造函数的原型对象(prototype)指向如果改变了,实例对象的原型(_proto_)指向也会发生改变 原型的指向是可以改变的 实例对象和原型对象之间的关系是通过,_proto_原型练习起来的,这就是原型链 原文地址:https://www.cnblogs.com/Yanss/p/10364642.html

JS高级---原型指向可以改变和原型链

原型指向可以改变和原型链 实例对象的原型__proto__指向的是该对象所在的构造函数的原型对象 构造函数的原型对象(prototype)指向如果改变了, 实例对象的原型(__proto__)指向也会发生改变 原型的指向是可以改变的 实例对象和原型对象之间的关系是通过__proto__原型来联系起来的,这个关系就是原型链 图示如下 代码观测console理解 //人的构造函数 function Person(age) { this.age=10; } //人的原型对象方法 Person.prot

javascript面向对象系列第一篇——构造函数和原型对象

× 目录 [1]构造函数 [2]原型对象 [3]总结 前面的话 一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如何用构造函数和原型对象来创建对象 构造函数 构造函数是用new创建对象时调用的函数,与普通唯一的区别是构造函数名应该首字母大写 function Person(){ this.age = 30; } var person1 = new Person(); console.log(person1.ag

深入javascript——构造函数和原型对象

深入javascript——构造函数和原型对象 常用的几种对象创建模式 使用new关键字创建 最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀! var gf = new Object(); gf.name = "tangwei"; gf.bar = "c++"; gf.sayWhat = function() { console.log(this.name + "said:love you forever");

简单理解javascript中的原型对象,实现对之间共享属性和行为

javascript中提供了构造函数,能够方便的创建对象.典型的构造函数如下: function Person(name, age) { this.name = name; this.age = age; this.say = function () { return this.name + ',' + this.age;; } 之后就可以用new和构造函数创建多个对象.javascript中,类的不同对象之间,属性和方法都是独立的.什么意思呢?java中类的不同对象之间,成员变量是独立的(每个

[js高手之路]使用原型对象(prototype)需要注意的地方

我们先来一个简单的构造函数+原型对象的小程序 1 function CreateObj( uName, uAge ) { 2 this.userName = uName; 3 this.userAge = uAge; 4 } 5 CreateObj.prototype.showUserName = function () { 6 return this.userName; 7 } 8 CreateObj.prototype.showUserAge = function () { 9 return

JavaScript中原型对象的彻底理解

一.什么是原型 原型是Javascript中的继承的继承,JavaScript的继承就是基于原型的继承. 1.1 函数的原型对象 ? 在JavaScript中,我们创建一个函数A(就是声明一个函数), 那么浏览器就会在内存中创建一个对象B,而且每个函数都默认会有一个属性 prototype 指向了这个对象( 即:prototype的属性的值是这个对象 ).这个对象B就是函数A的原型对象,简称函数的原型.这个原型对象B 默认会有一个属性 constructor 指向了这个函数A ( 意思就是说:c

谈谈对Javascript构造函数和原型对象的理解

对象,是javascript中非常重要的一个梗,是否能透彻的理解它直接关系到你对整个javascript体系的基础理解,说白了,javascript就是一群对象在搅..(哔!). 常用的几种对象创建模式 使用new关键字创建最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀! var gf = new Object(); gf.name = "tangwei"; gf.bar = "c++"; gf.sayWhat = function