资讯专栏INFORMATION COLUMN

定义一个对象

mist14 / 680人阅读

摘要:方式一严谨的必须要指定长宽调用方式方式二调用方式区别原型对象和当前对象,记住一个关键点,一个对象的原型对象是在上一级的既可以看作是对象,也可以看做是一个类关键字的时候看成是类,这里定义其子类的原型对象把看作是一个类对象调用方法,如果对象自身

方式一 严谨的oop
var Rectangle = function(width, height){//必须要指定长、宽
       this.width = width;
       this.height = height;
};
Rectangle.prototype.area = function(){
       return this.width * this.height;
};
Rectangle.prototype.girth = function(){
       return (this.width + this.height) * 2;
};
//调用方式
var rect = new Rectangle(2, 4);
rect.area();
rect.girth();
方式二
var rectangle = {
     create : function(width,height){
              this.width = width;
              this.height = height;
     },
     area : function(){
              return this.width * this.height;
     },
     girth : function(){
             return (this.width + this.height) * 2;
     }
};
//调用方式
rectangle.create(2, 4);
rectangle.area();
rectangle.girth();
区别原型对象和当前对象 ,记住一个关键点,一个对象的原型对象是在上一级的
 var Class_me = function(){};//既可以看作是对象,也可以看做是一个类(new关键字的时候)
        Class_me.prototype.aa=function(){alert(23)};//看成是类,这里定义其子类的原型对象
        var object = new Class_me();//把Class_me看作是一个类
        object.aa();//object对象调用aa方法,如果object对象自身有这个方法,就会调用自身的方法,如果没有这个方法,那么就回去调用它对应的原型对象的这个方法,如果两个对象都没有这个方法,那么就会报undefined
        Class_me.aa();//这个时候Class_me是一个对象,这个对象去调用aa方法,原理同上,这里回报undefined的,因为它本身没有定义aa方法,它对于的原型对象Object也没有aa方法,Class_me对象的原型对象应该在它的上一级,也就是new出这个对象的那个类所在的那一层

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85593.html

相关文章

  • JavaScript 之 面向对象 [ this关键字 ]

    摘要:关键字描述一般被定义在函数中使用都会指向一个对象通过调用函数的位置来判断当前指定的对象默认绑定表示在函数中使用,在调用该函数时,没有具体的指向目标,会默认为指向全局对象示例代码定义一个全局变量定义一个函数在函数调用时无法找到具体的对象,会指 this关键字 描述 this 一般被定义在函数中使用 this 都会指向一个对象 this 通过调用函数的位置来判断当前指定的对象 默认绑定...

    Cristalven 评论0 收藏0
  • JavaScript面向对象中的this关键字个人分享

    摘要:关键字关键字描述本身没有任何含义但它也可以代表任何含义被自动定义在所有的函数作用域中都有一个共同点它总是要返回一个对象指向哪个对象不取决于定义在哪它取决于调用位置注意建议搞不明白时尽量不要使用否则会很混乱一定要理解之后使用的基本用法表示在函 this关键字 this关键字描述 this本身没有任何含义,但它也可以代表任何含义 this被自动定义在所有的函数作用域中 this都有一个共...

    nevermind 评论0 收藏0
  • JS高程读书笔记--第六章原型继承

    摘要:高程读书笔记第六章理解对象创建自定义对象的方式有创建一个实例,然后为它添加属性和方法。创建了自定义的构造函数之后,其原型对象默认只会取得属性至于其他方法都是从继承而来的。 JS高程读书笔记--第六章 理解对象 创建自定义对象的方式有创建一个Object实例,然后为它添加属性和方法。还可用创建对象字面量的方式 属性类型 ECMAScript在定义只有内部采用的特性时,描述了属性的各种特征...

    EasonTyler 评论0 收藏0
  • 深入理解JavaScript,这一篇就够了

    摘要:也就是说,所有的函数和构造函数都是由生成,包括本身。如果只考虑构造函数和及其关联的原型对象,在不解决悬念的情况下,图形是这样的可以看到,每一个构造函数和它关联的原型对象构成一个环,而且每一个构造函数的属性无所指。 前言  JavaScript 是我接触到的第二门编程语言,第一门是 C 语言。然后才是 C++、Java 还有其它一些什么。所以我对 JavaScript 是非常有感情的,毕...

    villainhr 评论0 收藏0
  • Javascript面向对象的程序设计_理解对象

    摘要:面向对象的程序设计理解对象前言最近在细读高级程序设计,对于我而言,中文版,书中很多地方翻译的差强人意,所以用自己所理解的,尝试解读下。总结如果英语水平足够好的话,建议看英文原版书籍或者国外大师的博客。 JS面向对象的程序设计_理解对象 前言:最近在细读Javascript高级程序设计,对于我而言,中文版,书中很多地方翻译的差强人意,所以用自己所理解的,尝试解读下。 如有纰漏或错误,会非...

    刘厚水 评论0 收藏0
  • Java 抽象类、接口、内部类

    摘要:即使抽象类里不包含抽象方法,这个抽象类也不能创建实例抽象类可以包含成员变量方法普通方法和抽象方法构造器初始化块内部类接口枚举种成分。 抽象类 当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么这些方法都有具体的方法体。但在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确地知道这些子类如何实现这些方法。使用抽象方法即可满足该要求:抽象方法是只有...

    miguel.jiang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<