js练习构造函数和原型对象的继承方式

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">

var shape={
type:"triangle",
getType:function(){
return this.type;
}
};
function Triangle(a,b,c)
{
this.a=a;
this.b=b;
this.c=c;
}
Triangle.prototype=shape;
Triangle.prototype.getPerimeter=function()
{
return (this.a)*(this.b)*(this.c);
};
var t=new Triangle(4,5,6);
alert(t.getPerimeter());
alert(t.getType());
</script>

</head>
<body>

</body>
</html>

时间: 2024-10-28 23:31:18

js练习构造函数和原型对象的继承方式的相关文章

构造函数、原型对象、继承

构造函数 构造函数就是我们用new创建对象时调用的函数.到目前为止,我们已经学过好多内置的构造函数了,例如,Object,Array和Function.使用同一个构造函数创建的对象都具有相同的属性和方法.除了这些内置的构造函数外,我们也可以创建自己的构造函数. 构造函数也是函数,和普通函数的定义方式一样.唯一的区别是构造函数名的首字母应该大写,以此区分于其他函数.下面定义了一个空的Person函数. function Person() { } 定义好构造函数以后,你就可以用它来创建对象了,例如,

js高级构造函数,实例对象和原型对象——prototype、__proto__和constructor构造器

一.前言 了解JavaScript面向对象,需要先了解三个名词: 构造函数,实例对象和原型对象. 注意:JavaScript中没有类(class)的概念,取而代之的是构造函数,两者类似却又有很大的差别. 先上代码,最常用的: function Person(name, age) { this.name = name; this.age = age; this.eat= function() { alert('吃西红柿') } } var person1 = new Person('小米', 28

JS构造函数、原型对象、隐含参数this

This 解析器再调用函数每次都会向函数内部传递一个隐含的参数this,this指向的是一个对象(函数执行的上下文对象) 1.以函数形式调用时,this永远是window. 2.以方法形式调用时,this就是调用方法的那个对象 3.当以构造函数的形式调用时,this就是新创建的那个对象 使用工厂的方法创建对象 通过该方法可以大批量的创建对象,这样创建的对象使用的构造函数都是Object,无法区分多种不同类型的对象. function create(name,age,geder){ var obj

深入理解Javascript中构造函数和原型对象的区别

在 Javascript中prototype属性的详解 这篇文章中,详细介绍了构造函数的缺点以及原型(prototype),原型链(prototype chain),构造函数(constructor),instanceof运算符的一些特点.如果对prototype和构造函数不熟悉,可以前往Javascript中prototype属性的详解 和 Javascript 中构造函数与new命令的密切关系 仔细的品味品味.先来做一个简单的回顾. 首先,我们知道,构造函数是生成对象的模板,一个构造函数可以

构造函数,原型对象,实例对象

一.构造函数,原型对象,实例对象 1.1 基本概念 1.对象: 属性和方法的集合,即变量和函数的封装. 调用构造函数产生的实例对象, 每个对象都有一个__proto__属性,指向这个对象的构造函数的原型对象. 2.构造器函数: 用于创建对象的函数,通过new关键字生成对象. 函数名一般首字母大写的. 每创建一个函数, 该函数都会自动带有一个prototype属性.该属性是一个指针,指向一个对象,该对象称之为原型对象(后期我们可以使用这个原型对象帮助我们在js中实现继承) 3.原型对象: 默认有一

JS核心系列:原型对象

在JS中,每当创建一个函数对象f1 时,该对象中都会内置一些属性,其中包括prototype和proto, prototype即原型对象. 每一个构造函数都有一个与之相关联的对象,该对象称之为原型对象.每个实例对象都能共享其原型对象上的属性和方法.原型对象的作用主要用来实现属性的继承,让实例对象能共享原型对象的属性,减少内存分配.所以,在上一节中,我们想在每个Person对象中共享同一个say方法,可以这样来实现.function Person(name, age) {this.name = n

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

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

JS基础——构造函数VS原型函数

JS是一种基于对象的语言,在使用过程中不免遇到复制对象的问题,但通常我们采用的直接赋值'obj1=obj2'这种做法会出现数据覆盖问题.也就是对象引用过程中引用地址一致,导致对象数据被修改的问题.这时我们可以采用工厂模式来对对象进行实例化,从而实现对象的引用地址一致导致的数据覆盖问题.但此时,问题随之又来了,使用工厂模式,对于具体的实例所属的具体对象又搞不清楚,在JS中采用构造方法来解决对象实例的数据覆盖问题(这里和其它语言的原理是类似的). 一.构造函数 在其它语言中接触过构造函数,通常它与类

深入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");