• 浅谈JavaScript中的对象


    面向对象的开发:对象有自己的属性、对象具备自己的方法

    JS中this关键字:指的是当前函数或者属性归属的对象。

                          在对象环境中,关键字this指的是调用对象。

                          在函数调用中,关键字this可以用来设置对象属性。

    一、类

    在面向对象编程中,对象是一个类的实例,类定义了一组公开的属性和方法。类简化了同一类型的多个对象的创建。

    1 var star = {};   //组装一个star对象
    2 star["Polaris"] = new Object;
    3 star["Mizar"] = new Object;
    4 star["Polaris"].constellation = "Ursa Minor";
    5 star["Mizar"].constellation = "Ursa Major";

    以下为使用伪类组装一个star对象:【主要目的是:简化代码重复率,提高阅读效率】

     1 var star = {};
     2 function Star(constell,type,specclass,magnitude) {
     3     this.constellation = constell;
     4     this.type = type;
     5     this.spectralClass = specclass;
     6     this.mag  = magnitude;
     7 }
     8 
     9 star["Polaris"] = new Star("Ursa Minor","Double/Cepheid","F7",2.0);
    10 star["Mizar"] = new Star("Ursa Major","Spectroscopic Binary","A1 V",2.3);

    二、创建对象

    2.1 两种方法创建对象:

    1 var star=new Object;   //new关键字
    2 var star={}            //花括号

    2.2 为对象添加属性

    1 star.name="Polaris";
    2 star.constellation="Ursa Minor";

    2.3 遍历对象属性   用for...in..函数

     1  function Star(constell,type,specclass,magnitude) {
     2         this.constellation = constell;
     3         this.type = type;
     4         this.spectralClass = specclass;
     5         this.mag  = magnitude;
     6     }
     7     star["Polaris"] = new Star("Ursa Minor","Double/Cepheid","F7",2.0);
     8     star["Mizar"] = new Star("Ursa Major","Spectroscopic Binary","A1 V",2.3);
     9     star["Aldebaran"] = new Star("Taurus","Irregular Variable","K5 III",0.85);
    10     star["Rigel"] = new Star("Orion","Supergiant with Companion","B8 Ia",0.12);
    11 
    12 for (var element in star) {                          //元素名
    13     for (var propt in star[element]) {               //属性值
    14         alert(element + ": " + propt + " = " + star[element][propt]);
    15     }
    16 }

    2.4 为对象添加方法

    和为自定义属性一样,也可以为对象添加方法
    使用伪类包含一个show()方法
     1 var star = {};
     2 function Star(constell,type,specclass,magnitude) {
     3   this.constellation = constell;
     4   this.type = type;
     5   this.spectralClass = specclass;
     6   this.mag = magnitude;
     7   this.show=function(){
     8     alert("hello,this is a method.")
     9   }
    10 }
  • 相关阅读:
    《2048》开发5——实现计分功能
    《2048》开发4——继续编辑GameView类,实现游戏逻辑
    《2048》开发3——编辑Card类
    robotframework(rf)中对时间操作的datetime库常用关键字
    弹框和单选框,复选框
    Selenium IDE安装与使用
    全面的功能测试点总结
    RF新手常见问题总结--(基础篇)
    常用断言关键字(rf中)
    jmeter录制(ios)app脚本
  • 原文地址:https://www.cnblogs.com/zam151/p/4909654.html
Copyright © 2020-2023  润新知