javascript三种创建对象的方式

javascript是一种“基于prototype的面向对象语言“,与java有非常大的区别,无法通过类来创建对象。那么,既然是面象对象的,如何来创建对象呢?

一、通过”字面量“方式创建。

方法:将成员信息写到{}中,并赋值给一个变量,此时这个变量就是一个对象。例如:

 var person = (name:‘dongjc‘, work:function() {console.log(‘write coding‘)});  
如果{}中为空,则将创建一个空对象:

 var person = {} //创建空对象 

演示代码:
1 <script type="text/javascript">
2 var person = {
3     name: "dongjc",
4     age: 32,
5     Introduce: function () { alert("My name is " + this.name + ".I‘m " + this.age); }
6 };
7 person.Introduce();
8 </script>
 我们还可以给对象丰富成员信息。
  对象.成员名称 = 值;
  对象[成员名称] = 值;
也可以获取对象的成员信息。
  对象.成员名称;
  对象[成员名称];
1 <script type="text/javascript">
2     var person = {
3     name: "dongjc",
4     age: 32,
5     Introduce: function () { alert("My name is " + this.name + ".I‘m " + this.age); }
6 };
7 person.worker = ‘coding‘; //丰富成员信息
8 </script>

二、通过”构造函数“方式创建。

 方法:

 var obj = new 函数名(); 

 这与通过类创建对象有本质的区别。通过该方法创建对象时,会自动执行该函数。这点类似于php通过创建对像时,会自动调用构造函数,因此该方法称为通过"构造函数“方式创建对象。

 1 <script type="text/javascript">
 2 function Person() {
 3     this.name = "dongjc";    //通过this关键字设置默认成员
 4     var worker = ‘coding‘;    //没有this关键字,对象创建后,该变量为非成员
 5     this.age = 32;
 6     this.Introduce = function () {
 7         alert("My name is " + this.name + ".I‘m " + this.age);
 8     };
 9     alert("My name is " + this.name + ".I‘m " + this.age);
10 };
11 var person = new Person();
12 person.Introduce();
13 </script>

此代码一共会两次跳出对话框,原因在于创建对象是自动执行了该函数。

注意:this关键字的使用。这里的this与php中话法意思类似,指调用该函数的对象,这里指的是person。

三、通过object方式创建。

方法:先通过object构造器new一个对象,再往里丰富成员信息。

var obj = new Object();

实例代码:

1 <script type="text/javascript">
2 var person = new Object();
3 person.name = "dongjc";
4 person.age = 32;
5 person.Introduce = function () {
6         alert("My name is " + this.name + ".I‘m " + this.age);
7     };
8 person.Introduce();
9 </script>

 

时间: 2025-01-16 01:34:48

javascript三种创建对象的方式的相关文章

javascript 中九种创建对象的方式

javascript 中对象的简介: ECMA-262 把对象的定义为:"无序属性的集合,其属性可以包含基本值,对象或者函数."严格来讲,这就相当于说对象是一组没有特定顺序的值.对象的每个属性或方法都有一个名字,而每个名字都映射到一个值.正是因为这样,我们可以把 javascript 中的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数. javascript 中九种创建对象的方式: 1.原生 Object 构造函数 2.对象字面量表示法 3.工厂模式 4.构造函数模式 5

JavaScript 三种创建对象的方法

JavaScript中对象的创建有以下几种方式: (1)使用内置对象 (2)使用JSON符号 (3)自定义对象构造 一.使用内置对象 JavaScript可用的内置对象可分为两种: 1,JavaScript语言原生对象(语言级对象),如String.Object.Function等: 2,JavaScript运行期的宿主对象(环境宿主级对象),如window.document.body等. 我们所说的使用内置对象,是指通过JavaScript语言原生对象的构造方法,实例化出一个新的对象.如: 代

JavaScript 三种创建对象的方法2

1   var  person = new Object(); person.name = "zs"; person.age = 19; 2  function Persson(name ,age){ this.age = age; this.name = name; this.play = function(){ .... } } function test2(){ var p = new Person('zs',19); alert(p.name); } 3  使用Json语法创建

三种网络数据传输方式比较(byte stream,protobuf,json)

三种网络数据传输方式比较(byte stream,protobuf,json) 2014-08-27 10:39:04 分类: LINUX 原文地址:三种网络数据传输方式比较(byte stream,protobuf,json) 作者:yuyunliuhen 针对于tinynet进行了三种数据传输方式的测试,包括最初的byte stream,protobuf,以及比较流行json方式.跟之前的几次测试一样,模型为echo模型,都是以epoll为例,每个连接每秒发送10个包,每个数据包约100by

LVS:三种负载均衡方式比较+另三种负载均衡方式

转:http://blog.csdn.net/u013256816/article/details/50705578 什么是LVS? ??首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的.高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修

三种加载方式

重点总结:    即:三种加载方式    1>传统加载方式------默认路径:tomcat/bin/目录    2>使用ServletContext对象-----默认路径:web应用(工程)目录    3>使用类加载器------默认路径:WEB-INF/classes/目录 一.利用ServletContext对象读取资源文件--默认目录为:工程(应用)路径                重点方法:                        InputStream getReso

.NET中的三种接口实现方式

摘自:http://www.cnblogs.com/zhangronghua/archive/2009/11/25/1610713.html 一般来说.NET提供了三种不同的接口实现方式,分别为隐式接口实现.显式接口实现.混合式接口实现.这三种方式各有各的特点. 首先来看隐式接口实现,这恐怕是我们使用最多的一种接口实现,因为隐匿接口实现是.NET的默认接口实现方式.下面让我们来看一个隐式接口实现的例子: using System; internal class MyClass { public

Apache Spark探秘:三种分布式部署方式比较

目前Apache Spark支持三种分布式部署方式,分别是standalone.spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公用一个集群资源,最大的好处是降低运维成本和提高资源利用率(资源按需分配).本文将介绍这三种部署方式,并比

LVS:三种负载均衡方式比较

转载于http://soft.chinabyte.com/25/13169025.shtml 1.什么是LVS? 首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的.高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序