js 之 object

js之object


对象

ECMA-262 把对象(object)定义为“属性的无序集合,每个属性存放一个原始值、对象或函数”。严格来说,这意味着对象是无特定顺序的值的数组。

尽管 ECMAScript 如此定义对象,但它更通用的定义是基于代码的名词(人、地点或事物)的表示。

每个对象都由类定义,可以把类看做对象的配方。类不仅要定义对象的接口(interface)(开发者访问的属性和方法),还要定义对象的内部工作(使属性和方法发挥作用的代码)。编译器和解释程序都根据类的说明构建对象。

实例

程序使用类创建对象时,生成的对象叫作类的实例(instance)。对类生成的对象的个数的唯一限制来自于运行代码的机器的物理内存。每个实例的行为相同,但实例处理一组独立的数据。由类创建对象实例的过程叫做实例化(instantiation)。

在前面的章节我们提到过,ECMAScript 并没有正式的类。相反,ECMA-262 把对象定义描述为对象的配方。这是 ECMAScript 逻辑上的一种折中方案,因为对象定义实际上是对象自身。即使类并不真正存在,我们也把对象定义叫做类,因为大多数开发者对此术语更熟悉,而且从功能上说,两者是等价的。

面向对象语言的要求

一种面向对象语言需要向开发者提供四种基本能力:

  1. 封装 - 把相关的信息(无论数据或方法)存储在对象中的能力
  2. 聚集 - 把一个对象存储在另一个对象内的能力
  3. 继承 - 由另一个类(或多个类)得来类的属性和方法的能力
  4. 多态 - 编写能以多种方法运行的函数或方法的能力

ECMAScript 支持这些要求,因此可被是看做面向对象的。

对象的构成

在 ECMAScript 中,对象由特性(attribute)构成,特性可以是原始值,也可以是引用值。如果特性存放的是函数,它将被看作对象的方法(method),否则该特性被看作对象的属性(property)。

原文地址:https://www.cnblogs.com/zero-vic/p/9978568.html

时间: 2024-10-09 01:44:36

js 之 object的相关文章

JS的Object漫想:从现象到“本质”

转自:http://zzy603.iteye.com/blog/973649 写的挺好,用于记录,把对象分成概念的Object(var f={})和 类的Object(function F(){}) ------------------------------------- 前言 首先,要说明的我是一个计算机爱好者,但我并不是科班出身,也没有受过专业的培训,所以,有些专业名词可能用的不当或者看法偏激乃至错误,敬请谅解并给予斧正为盼. 一.Object是什么? 刚开始我简单地认为Object是js

JS查看Object对象的内容

以一个例子来说,下面是他的Object: JS: 如果想直接获取到total的值,那就先把获取到的Json先Eval(),然后json.total就能取到total的值了, 但是如果想取到rows里面的值呢,我们先得进去rows,那就应该是:json.rows,但是我们alert的时候发现,这个rows有三个参数,我们要取第一个的话,那就应该是json.rows[0],然后再取 里面的strUserName或者strUserPwd就应该是Json.rows[0].strUserName了. 假设

JS与Object-C交互补充

有一个场景,用户点击Web页面,产生JS交互时,如何根据JS事件,App做出响应. 我们可以自己做一个简单的js交互,实现基于的原理是: 1. object-c利用stringByEvaluatingJavaScriptFromString:(NSString *)script消息获取uiwebview页面数据. 2. 那么如何监控特定的js事件呢?UIWebViewDelegate的(BOOL)webView:shouldStartLoadWithRequest:navigationType:

JS 对象(Object)和字符串(String)互转

JS 对象(Object)和字符串(String)互转 [javascript] view plaincopy var jsObj = {}; jsObj.testArray = [1,2,3,4,5]; jsObj.name = 'CSS3'; jsObj.date = '8 May, 2011'; var str = JSON.stringify(jsObj); alert(str); 从JSON字符串转为对象 [javascript] view plaincopy var jsObj = 

You Don't Know JS: this & Object Prototypes( 第一章 this or That?)

Foreword this 关键字和prototypes 他们是用JS编程的基础.没有他们创建复杂的JS程序是不可能的. 我敢说大量的web developers从没有建立过JS Object,仅仅对待这门语言作为一个事件绑定胶水,在按钮和Ajax请求之间. 我也曾是他们的一员,但是当我了解到如何掌握prototypes并创建JS对象,一个世界的可能性对我打开了. Chapter 1: this Or That? Chapter 2: this All Makes Sense Now! Chap

You Don't Know JS: this & Object Prototypes( 第2章 this)

this is a binding made for each function invocation, based entirely on its call-site (how the function is called). this是为函数被引用而创建的绑定!完全地基于函数如何被调用/函数的call-site! Call-site :the location in code where a function is called call-stack: 调用函数的堆栈.(函数的调用链条,函数

You Don't Know JS: this & Object Prototypes( 第3章 this和Object Prototypes)

前2章探索了this绑定指向不同的对象需要函数引用的call-site. 但是什么是对象,为什么我们需要指向它们? 本章探索细节. Syntax Type Build-in 对象 Contents Computed Property Names Property vs. Method Arrays Duplicating Objects Property Descriptors Writable Configurable Enumerable Immutability不变 Object Cons

js中object的申明方法

1 //js中的对象申明使用new Object(); 2 //object类型的数据类似于数组通过下表来访问其中的值 3 //example1 4 5 var person=new Object(); 6 person.name="张三"; 7 person.age="12"; 8 person.sex="男"; 9 10 for(var i in person){ 11 console.log(i+":"+person[i

js判断object的具体类型(或者说判断object的类class)

The JavaScript specification gives exactly one proper way to determine the class of an object: Object.prototype.toString.call(t); http://bonsaiden.github.com/JavaScript-Garden/#types https://stackoverflow.com/questions/7893776/the-most-accurate-way-t