讲解一下JavaScript中的对象

我们知道生活中客观存在的一切事物皆为对象,那在程序中的对象是什么样子呢?我们可以将程序中的对象理解为客户端世界中的对象在一种计算机中的一种表示方式.所有的编程语言中提到的对象其性质都是类似的,它往往对应内存中的一块区域,在这个区域中存储对象的属性或方法信息。

一、类

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

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..函数

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 }

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/13515.html

(0)
晴川运维晴川运维
上一篇 2025年9月22日
下一篇 2025年9月22日

相关推荐

  • 详解Shell until命令的用法

    until 命令与 while 命令的工作方式正好相反。until 命令指定了一个通常返回非零退出状态码的测试命令。当测试命令的退出状态码不为 0 时,Bash Shell 执行循…

    Linux系统 2025年9月25日
  • Linux下设置开机自动运行

    有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢?本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu …

    Linux系统 2025年6月12日
  • Linux下使用 Docker托管 .NET Core

    .NET Core是适用于 Windows、Linux 和 macOS 的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台能力的应用程序开发框架 (Appli…

    Linux系统 2025年6月13日
  • Linux cd命令:切换目录

    cd 命令,是 Change Directory 的缩写,用来切换工作目录。 linux 命令按照来源方式,可分为两种,分别是 Shell 内置命令和外部命令。所谓 Shell 内…

    Linux系统 2025年9月19日
  • SSH连接调试小技巧

    本篇文章重点为大家讲解一下SSH连接调试小技巧,有需要的小伙伴可以参考一下。 问题一:SSH服务没有运行 SSH连接错误的常见原因是服务未在远程服务器上运行。这可能是由于服务意外关…

    Linux系统 2025年6月9日
  • Nginx的主要应用场景

    本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢…

    Linux系统 2025年10月11日
  • APFS为何如此之强

    Apple 文件系统 (APFS) 是 Mac 电脑的默认文件系统格式,具有强加密、空间共享、磁盘快照、快速目录大小统计等特性,以及改进的文件系统基础。虽然 APFS 最适合于新款…

    Linux系统 2025年10月10日
  • Deepin系统中安装Visual Studio Code具体方法

    VS code是一个编辑器首先,最小化功能。 不像其它IDE很庞大,开发人员可以根据自己的开发技术设置不同的扩展组件,本篇文章重点为大家分享一下Deepin系统中安装Visual …

    Linux系统 2025年9月20日
  • 最受欢迎的10款Python开源框架总结

    本篇文章为大家讲解一下10个在GitHub等开源网站中最欢迎的Python开源框架,为大家做详细介绍和优劣势总结。这些框架包括Web开发,高性能网络通信,测试,爬虫等。 1.Dja…

    Linux系统 2025年6月29日
  • Linux下安装和使用ClamAV具体方法

    ClamAV是Linux平台上领先的开源病毒扫描程序,如果你要为Linux桌面或服务器找到一个好的病毒扫描程序,这个应用程序应该是你的首选,下面为大家分享一下Linux下安装和使用…

    Linux系统 2025年9月23日

发表回复

登录后才能评论