JavaScript对象类型之简单介绍
引言
对象是JavaScript的基本数据类型。
对象是一种复合值:将很多值(原始值或者其他对象)聚合在一起,通过名字访问这些值。
对象可以看做属性的无序集合,每个属性都是一个名/值对。属性名是字符串。
对象还可以看做字符串到值的映射。
除了可以保持自有的属性,对象还可以从一个称为原型的对象继承属性--“原型式继承”是JavaScript的核心特征。
对象的动态性
对象可以新增属性,也可以删除属性。
通常用于模拟静态对象以及静态类型语言种的“结构体”(struct)。有时它们也用做字符串的集合(忽略名/值对种的值)。
对象的可变性
JavaScript中通过引用而非值来操作对象。
常见用法
对象属性最常用的用法是:
- 创建(create)
- 设置(set)
- 查找(query)
- 删除(delete)
- 检测(test)
- 枚举(enumerate)
属性特性
在JavaScript对象的属性中,除了名字和值之外,还有一个与之相关的值,称为“属性特性”(property attribute):
- 可写(writable attribute) -- 表明是否可以设置该属性的值;
- 可枚举(enumerable attribute) -- 表明是否可以通过for/in循环返回该属性;
- 可配置(configurable attribute) -- 表明是否可以删除或修改该属性。
对象特性
除了包含属性之外,每个对象还拥有三个相关的对象特性(object attribute):
- 对象的原型(prototype)指向另外一个对象,本对象的属性继承自它的原型对象;
- 对象的类(class)是一个表示对象类型的字符串;
- 对象的扩展标记(extensible flag)指明了(在ECMAScript 5中)是否可以指向该对象添加新属性。
三类JavaScript对象和两类属性
三类JavaScript对象
- 内置对象(native object)是由ECMAScript规范定义的对象或类,例如,数组、函数、日期和正则表达式都是内置对象。
- 宿主对象(host object)是由JavaScript解释器所嵌入的宿主对象(比如Web浏览器)定义的;
自定义对象(user-defined object)是由运行中的JavaScript代码创建的对象;
两个属性
- 自有属性(own property)是直接在对象中定义的属性;
继承属性(inherited property)是在对象的原型对象中定义的属性。
JavaScript对象类型之简单介绍的更多相关文章
- C++map类型 之 简单介绍
一:map的前世今生 (1)从关联容器与顺序容器说起.关联容器通过键(key)存储和读取元素.而顺序容器则通过元素在容器中的位置顺序存储和訪问元素(vector,queue,stack,list等). ...
- JavaScript对象类型之创建对象
引言 JavaScript中,可以通过对象直接量,关键字new(ECMAScript 5中的)Object.create(),函数来创建对象. 对象直接量 JavaScript中使用对象直接量来创建对 ...
- Python中的对象类型的初步介绍
一:介绍 1.为什么使用内置对象 对象类型是语言的一个部分 内置对象构成了每个python程序的核心部分 2.核心数据类型 数字 字符串 列表 字典 元组 文件 集合 其他类型 编程单元类型 与实现相 ...
- JavaScript对象类型判断注意点
注意点 不要使用 new Number() . new Boolean() . new String() 创建包装对象:用 parseInt() 或 parseFloat() 来转换任意类型到numb ...
- JavaScript(一)——简介(简单介绍)
1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司(已被Oracle收购了),J ...
- Swift中的Result 类型的简单介绍
Swift 5引入了一个新的Result类型, 它使用枚举来处理异步函数的结果. 苹果文档对该类型的描述: A value that represents either a success or a ...
- 关于javascript对象的简单记忆法
关于javascript对象方法的简单记忆法(个人整理) string对象: 大号小号闪烁加链接./big/small/blink/link/ 粗体斜体打字删除线./bold/italics/fixe ...
- javaScript系列 [02]-javaScript对象探析
[02]-javaScript对象探析 题记:多年前,以非常偶然的方式关注了微信公众号“面向对象”,本以为这个公众号主要以分享面向对象编程的干货为主,不料其乃实实在在的猿圈相亲平台.通过查看公开资料, ...
- JavaScript基础——使用JavaScript对象
JavaScript有许多内置对象,如Number(数字).Array(数组).String(字符串).Date(日期)和Math(数学).这些内置对象都有成员属性和方法.除了JavaScript对象 ...
随机推荐
- .NET Core实战项目之CMS 第八章 设计篇-内容管理极简设计全过程
写在前面 上一篇文章中我带着大家进行了权限部分的极简设计,也仅仅是一个基本的权限设计.不过你完全可以基于这套权限系统设计你的更复杂的权限系统,当然更复杂的权限系统要根据你的业务来进行,因为任何脱离实际 ...
- zabbix系列之十——添加短信告警
zabbix添加短信告警 1.查看zabbix-server脚本存放路径: [root@GYQ-Prod-Zabbix ~]# grep AlertScriptsPath /etc/zabbix/za ...
- ESXI开启snmp协议方法
公司用VMware做虚拟化,15+HPE 服务器做集群,现需要用zabbix监控其状态,于是想通过打开主机的snmp协议来采集数据,监控其状态,注意其数据是ESXI系统返回的. ssh登录到ESXI上 ...
- asp.net core 系列 2 启动Startup类介绍
一.Startup类 ASP.NET Core 应用是一个控制台应用,它在其 Program.Main 方法中创建 Web 服务器.其中Main方法是应用的托管入口点,Main 方法调用 WebHos ...
- Chapter 4 Invitations——23
The next morning, when I pulled into the parking lot, I deliberately parked as far as possible from ...
- JsChart组件使用
JsChart是什么? JSChart能够在网页上生成图标,常用于统计信息,十分好用的一个JS组件. 使用JsChart 一.导入jscharts.js 二.编写jscharts.jsp测试页面 下载 ...
- LeetCode专题-Python实现之第13题:Roman to Integer
导航页-LeetCode专题-Python实现 相关代码已经上传到github:https://github.com/exploitht/leetcode-python 文中代码为了不动官网提供的初始 ...
- 设计模式总结篇系列:策略模式(Strategy)
前面的博文中分别介绍了Java设计模式中的创建型模式和结构型模式.从本文开始,将分别介绍设计模式中的第三大类,行为型模式.首先我们了解下分为此三大类的依据. 创建型模式:主要侧重于对象的创建过程: 结 ...
- sysbench的框架实现介绍
sysbench是一个非常经典的综合性能测试工具,它支持CPU,IO,内存,尤其是数据库的性能测试.那它是怎么做到通用性的呢,总结一句话是大量运用了重载的方法. sysbench总体架构 sysben ...
- 深入浅出ASP.NET Core系列(入门篇)
入门篇 1.1.专题介绍 1.2.环境安装 1.3.创建项目 1.4部署到IIS 1.5准备CentOS和Nginx环境 1.6部署到CentOS 2.1命令行和JSON的配置 2.2Bind建立配置 ...