对象是一种复合数据类型,它们将多个数据值集中在一个单元中,而且允许使用名字来存取这些值.
一.创建对象
1.在javascript代码中加入一个对象直接量.
如:
var empty = {};
var point = { x:0, y:0};
var john = {"name":"Jonh Doe", "age": 24};
2.new运算符可以创建具体的一类对象。
如:
var a = new Array();
var r = new RegExp("javascript","i");
Object()构造函数创建一个空的对象,就像直接量{}所作的一样
二.对象属性
使用"."运算符.
如:
book.title = "JavaScript: The Rhino Book"
1.属性的枚举
使用for/in循环提供枚举对象属性的方法.
2.检查属性的存在性
使用in运算符,左边是属性的名字(字符串形式),右边是要被测试的对象.
注意,一个属性也可能已经存在但还是未定义的,此时,需要===运算符判断未定义的值undefined.
(因为 == 运算符认为 undefined 值等价于 null)
3.删除属性
可以使用delete运算符来删除一个对象的属性。
注意,删除属性并不仅仅是把属性设为undefined,它实际上从对象移除了属性。在删除之后,in运算符也不会检测到该属性。
三.作为关联数组的对象
数组常用的存取属性运算符是[].
如下两个表达式值相等:
object.property
object["property"]
这两条语法之间的区别是,前者的属性名是标识符,后者的属性名却是一个字符串。
这样的好处是 可以在程序运行的过程中操作并创建它们。
由于事先无法知晓这个属性名,所以在编写程序时不能用"."来存取属性,但是可以使用[]来命名属性,因为它的属性名是一个字符串值(该值是动态的,可以在运行时改变),而不是一个标识符(它是静态的,在程序中必须对其硬编码)。
这样的对象称为关联数组。
四.通用的Object属性和方法
1.constructor属性
在javascript中,每个对象都有一个constructor属性,它引用了初始化这个对象的构造函数。例如,使用Date()创建了一个对象d,属性d.constructor的引用Date。
instanceof运算符检查constructor属性值,如 o instanceof Date 等价于 o.constructor == Date。
2.toString()方法
toString()方法没有参数,它返回一个某种程度上代表着对象的值的一个字符串,而它正是在这个对象上调用的。当javascript需要把一个对象转换为一个字符串的时候,就会调用这个方法。
由于默认的toString方法并不能显示太多有用的信息,很多类都定义了自己的toString()方法。
3.toLocaleString()方法
作用是返回对象的一个本地化字符串表示。Object所定义的默认的toLocaleString()方法并不会本地化自己,总是返回和toString()完全相同的内容。然而,子类可以定义它们自己的toLocaleString()版本。
4.valueOf()方法
它是当javascript需要把一个对象转换为某种基本数据类型,也就是一个数字而不是字符串的时候,才调用的方法。
5.hasOwnProperty()方法
如果对象用一个单独的字符串参数所指定的名字来本地定义一个非继承的属性,hasOwnProperty()返回true,否则false。
6.propertyIsEnumerable()方法
如果对象用一个单独的字符串参数所指定的名字来定义一个非继承的属性,并且如果这个属性可以在一个for/in循环中枚举,propertyIsEnumerable()方法就返回true,否则false。
注意,一个对象的所有的用户定义的属性都是可以枚举的。不能枚举的属性通常都是继承的属性,因此,这个方法几乎总是会和hasOwnProperty()返回相同的结果.
7.isPrototypeOf()方法
如果isPrototypeOf()所属的对象是参数的原型对象,那么该方法返回true,否则false。
相关推荐
JavaScript中 对象、数组的使用
2.JAVASCRIPT中对象的层次与继承整理.pdf
我猜一般用过JavaScript的人都看见过或者用过对象的prototype属性。这是个好东西,它可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。详细介绍:...
NULL 博文链接:https://wangweiwei358.iteye.com/blog/689840
主要介绍了JavaScript中对象介绍,本文直接用实例讲解对象的创建、删除等操作,并总结了Object属性、Property属性,需要的朋友可以参考下
Javascript 面向对象的JavaScript进阶 Javascript技术
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
JavaScript内置对象相关介绍及用法ppt JavaScript内置对象相关介绍及用法
javaScript内置对象,javaScript,javaScript内置对象,javaScript,javaScript内置对象,javaScript
一文理清 JavaScript 中对象的创建模式与继承模式 文章目录一文理清 JavaScript 中对象的创建模式与继承模式一、前言 :1. 写作目的2. 需要具备的知识点3. 阅前声明二、JavaScript 中对象的创建模式1. ( 单例模式 ) ...
JavaScript面向对象的支持 JavaScript面向对象
JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)...
《JavaScript入门经典(第3版)》首先介绍了JavaScript的基本语法,并介绍了如何发挥JavaScript中对象的威力。《JavaScript入门经典(第3版)》还介绍了如何操纵最新版本浏览器所提供的BOM对象。在《JavaScript入门经典...
document 对象.html-javascript中DOM对象内容
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
JavaScript面向对象精要(英文版)JavaScript面向对象精要(英文版)JavaScript面向对象精要(英文版)JavaScript面向对象精要(英文版)JavaScript面向对象精要(英文版)JavaScript面向对象精要(英文版)
《JavaScript入门经典(第3版)》首先介绍了JavaScript的基本语法,并介绍了如何发挥JavaScript中对象的威力。《JavaScript入门经典(第3版)》还介绍了如何操纵最新版本浏览器所提供的BOM对象。在《JavaScript入门经典...