资讯专栏INFORMATION COLUMN

JavaScript 对象

Meils / 2360人阅读

摘要:对象的方法是继承的属性。对象的类是一个标识对象类型的字符串。例如,数组函数日期和正则表达式都是内置对象。客户端中表示网页结构的对象均是宿主对象。自定义对象是由运行中的代码创建的对象。自有属性是直接在对象中定义的属性。

首先对象是什么呢?
对象是JavaScript的基本数据类型。对象也可以看成**属性的无序集合**,每个属性都是一个名/值对。属性名是字符串,因此我们可以把**对象看成从字符串到值的映射**。然而对象不仅仅是字符串到值的映射,除了可以保持自有的属性,还可以从一个称为原型的对象继承属性。对象的方法是继承的属性。

除了字符串,数字,null,undefined,true,false之外,JavaScript的值都是对象。
对象的方法以及特征
对象最常见的用法是**创建,设置,查找,删除,检测和枚举**它的属性。

除了名字和值之外,每个属性还有一些与之相关的值,称为“属性特征”:

可写,表明是否可以设置该属性的值。

可枚举,表明是否可以通过for/in循环返回该属性。

可配置,表明是否可以删除或修改该属性。

除了包含属性之外,每个对象还拥有三个相关的对象特性:

对象的原型(prototype)指向另外一个对象,本对象的属性继承自它的原型对象。

对象的类(class)是一个标识对象类型的字符串。

对象的扩展标记(extensible flag)指明了(在ECMAScript5中)是否可以向该对象添加新属性。

最后我们用下面这些术语来对三类JavaScript对象和两类属性作区分:

内置对象(native object)是由ECMAScript规范定义的对象或类。例如,数组、函数、日期和正则表达式都是内置对象。

宿主对象(host object)是由JavaScript解释器所嵌入的宿主环境(比如Web浏览器)定义的。客户端JavaScript中表示网页结构的HTMLElement对象均是宿主对象。既然宿主环境定义的方法可以当成普通的JavaScript函数对象,那么宿主对象可以当成内置对象。

自定义对象(user-defined object)是由运行中的JavaScript代码创建的对象。

自有属性(own property)是直接在对象中定义的属性。

继承属性(inherited property)是在对象的原型对象中定义的属性。

创建对象

创建对象的方法有三种,一是对象直接量,二是通过new关键字,三是Object.create()。

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

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

相关文章

  • JavaScript 闯关记

    摘要:对象数组初始化表达式,闯关记之上文档对象模型是针对和文档的一个。闯关记之数组数组是值的有序集合。数组是动态的,根闯关记之语法的语法大量借鉴了及其他类语言如和的语法。 《JavaScript 闯关记》之 DOM(下) Element 类型 除了 Document 类型之外,Element 类型就要算是 Web 编程中最常用的类型了。Element 类型用于表现 XML 或 HTML 元素...

    mj 评论0 收藏0
  • JavaScript深入浅出

    摘要:理解的函数基础要搞好深入浅出原型使用原型模型,虽然这经常被当作缺点提及,但是只要善于运用,其实基于原型的继承模型比传统的类继承还要强大。中文指南基本操作指南二继续熟悉的几对方法,包括,,。商业转载请联系作者获得授权,非商业转载请注明出处。 怎样使用 this 因为本人属于伪前端,因此文中只看懂了 8 成左右,希望能够给大家带来帮助....(据说是阿里的前端妹子写的) this 的值到底...

    blair 评论0 收藏0
  • JavaScript中的面向对象(object-oriented)编程

    摘要:对象在中,除了数字字符串布尔值这几个简单类型外,其他的都是对象。那么在函数对象中,这两个属性的有什么区别呢表示该函数对象的原型表示使用来执行该函数时这种函数一般成为构造函数,后面会讲解,新创建的对象的原型。这时的函数通常称为构造函数。。 本文原发于我的个人博客,经多次修改后发到sf上。本文仍在不断修改中,最新版请访问个人博客。 最近工作一直在用nodejs做开发,有了nodejs,...

    JerryZou 评论0 收藏0
  • 10分钟了解Javascript-天码营

    摘要:然后将构造函数的原型设为,便实现了对象继承。首先,我们定义一个构造函数,并在其中定义一个局部变量。这里的是局部变量,其作用域仍然存在是闭包现象,而非对象属性。 Javascript是动态的,弱类型的,解释执行的程序设计语言。 Javascript极其灵活,支持多种程序设计范式:面向对象、指令式、函数式。JavaSCript最初被用于浏览器脚本,现在已经是所有主流浏览器的默认脚本语言。浏...

    trigkit4 评论0 收藏0
  • JavaScriptCore全面解析

    摘要:可嵌入动态文本于页面,对浏览器事件作出响应,读写元素,控制等。年月,发布了一款面向普通用户的新一代的浏览器版,市场份额一举超过。网景将这门语言作为标准提交给了欧洲计算机制造协会。线程和的并发执行都是线程安全的。后面会详细讲解对象类型的转换。 本文由云+社区发表作者:殷源,专注移动客户端开发,微软Imagine Cup中国区特等奖获得者 JavaScript越来越多地出现在我们客户端开...

    OnlyMyRailgun 评论0 收藏0
  • JavaScript设计模式与开发实践 | 01 - 面向对象JavaScript

    摘要:在中,并没有对抽象类和接口的支持。例如,当对象需要对象的能力时,可以有选择地把对象的构造器的原型指向对象,从而达到继承的效果。本节内容为设计模式与开发实践第一章笔记。 动态类型语言 编程语言按数据类型大体可以分为两类:静态类型语言与动态类型语言。 静态类型语言在编译时已确定变量类型,动态类型语言的变量类型要到程序运行时,待变量被赋值后,才具有某种类型。 而JavaScript是一门典型...

    suxier 评论0 收藏0

发表评论

0条评论

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