zoukankan      html  css  js  c++  java
  • 浅谈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 }
  • 相关阅读:
    C#枚举扩展方法,获取枚举值的描述值以及获取一个枚举类下面所有的元素
    C#对IQueryable<T>、IEnumerable<T>的扩展方法
    C#常用处理数据类型转换、数据源转换、数制转换、编码转换相关的扩展
    C#常用8种排序算法实现以及原理简介
    身份证号合法性验证,支持15位和18位身份证号,支持地址编码、出生日期、校验位验证
    C#检验参数合法性公用方法
    MVC中得到成员元数据的Description特性描述信息公用方法
    把对象类型转换成指定的类型帮助类方法
    C#操作图片帮助类
    C#执行Dos命令公用方法
  • 原文地址:https://www.cnblogs.com/zam151/p/4909654.html
Copyright © 2011-2022 走看看