手机版

了解更多关于JavaScript对象的信息

时间:2021-09-30 来源:互联网 编辑:宝哥软件园 浏览:

在JavaScript中,除了五种原始类型(即数字、字符串、布尔值、null和undefined)之外,它们都是对象。那么,如果你不知道如何继续向对象学习呢?

一.概述

对象是一个复合值,它聚合了许多值(原始值或其他对象),这些值可以通过属性名来访问。属性名可以是任何字符串,包括空字符串。JavaScript对象也可以称为数据结构,就像我们经常听到的“hash”、“hashtable”、“dictionary”和“关联数组”一样。

JavaScript中有三种类型的对象:

内置对象,如数组、函数、日期等。

宿主对象,即由嵌入JavaScript解释器的宿主环境(如浏览器)定义的对象,如HTMLElement

自定义对象,即程序员在代码中定义的对象;

对象的属性可以分为两类:

(1)自有属性:直接在对象中定义的属性;

继承属性:对象的原型对象中定义的属性(原型对象将在下面详细讨论);

二.创建对象。

既然学习对象,我们怎么能不知道如何创造对象呢?面试前端职位的学生可能会被问到这个基本问题:

创建JavaScript对象的两种方法是什么?(或者:如何创建JavaScript对象?)

这个问题我被问过两次。网上有很多关于“创造物体的两种方法”的说法,但是根据我看的书,有三种方法!下面我们来详细说说这三种方法:

1.对象直接量。

对象直接量是由几个名称/值对组成的映射表。名称/值对的中间用冒号分隔,名称/值对用逗号分隔。整个映射表用大括号括起来。该名称可以是JavaScript标识符,也可以是字符串直接量,这意味着创建对象obj的以下两种方式完全相同:

var obj={x: 1,y : 2 };var obj={'x': 1,' y ' :2 };

2.通过新建创建对象。

新操作符后面是一个函数调用,即构造函数,用于创建和初始化一个新对象。例如:

1 var o=新对象();//创建一个空对象,就像{ } 2 var a=new Array();//创建一个空数组,就像[],3 var d=new Date();//创建表示当前时间的日期对象。

我们稍后将讨论构造函数。

3.Object.create()

ECMAScript5定义了一个名为Object.create()的方法,这个方法创建了一个新的对象,其中第一个参数就是这个对象的原型对象(看起来原型对象还没有解决.这将在下面立即描述),第二个可选参数用于进一步描述对象的属性,第二个参数将在下面描述(因为这第三个方法是在ECMAScript5中定义的,所以您之前经常谈到创建对象的两种方法?个人认为应该是这个原因)。这种方法使用简单:

1 var o1=Object.create({x: 1,y : 2 });//对象o1继承属性x,y2 var O2=object . create(null);//对象o2没有原型。

以下三个完全相同:

1 var obj 1={ };2 var obj2=新对象();3 var obj 3=object . create(object . prototype);

要解释为什么这三种方法完全一样,我们先用JavaScript解释一下原型对象(嘿,让客官等这么久!),记得有位大神说过:

Javascript是一种基于对象的语言,你遇到的几乎所有东西都是对象。但是,它不是真正的OOP语言,因为它的语法中没有类。

面向对象编程语言JavaScript,没有类!那么,它是如何实现传承的呢?是的,通过原型物体。基本上每个JavaScript对象(null除外)都与另一个对象相关联,“其他”对象就是所谓的原型对象(原型对象也可以简称为prototype,没有想象中那么复杂,只是一个对象)。每个对象都从原型对象继承属性,一个对象的原型属性的值(在创建对象时默认自动生成,不需要自定义显示)就是这个对象的原型对象,即obj.prototype就是object obj的原型对象。

原型首先提到了这一点,然后又回到了上面的问题。通过对原型对象的理解,以下是不需要太多解释的JavaScript语言规则:

(1)由对象直接量创造的所有对象的原型对象是对象原型对象;

传递关键字n。

版权声明:了解更多关于JavaScript对象的信息是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。