javascript如何创建一个对象

荣耀ma 2019-11-18 415 阅读

作为一门面向对象的语言,对象是javascript中基本的数据类型,对象是属性的无序集合。在c#这样的标准的面向对象的语言中,可以声明通过使用class声明一个类,然后通过使用new运算符调用构造函数(函数名和类名相同)即可声明一个对象实例。

<script>
class myclass{}
myclass myobject=new myclass()
</script>

上面是c#中声明一个类和创建一个类的对象实例的代码,使用class声明了一个名为myclass的类,然后通过new运算符调用它的构造函数myclass()创建一个实例。这里可能javascript的学习者就会有这样的疑问:既然javascript也是面向对象的,那么怎么声明javascript中的类(javascript中并没有类这个概念,可以权且理解为类),如何创建类的对象实例呢,下面通过实例简单介绍一下:
一.直接量方式:
这是最简单的一种创建javascript对象的方式,直接量就是由大括号包裹的若干个名/值对组成的映射表,名与值之间需要用冒号分隔,每两个名/值对之间用逗号分隔,这里的名就是对象的属性名称,值就是相应属性的属性值。代码实例如下:

<script>
var website={
webname:"乐分享",
age:2,
address:"山东青岛"
}
</script>

以上代码就是使用直接量方式创建一个具有三个属性的对象,创建对象实例的方式貌似和c#的方式完全不一样。
二.使用new运算符方式:
这种方式貌似比较接近于c#创建对象实例的方式,实例如下:

<script>
var website =new Object()
website.webname="乐分享";
website.age=2;
website.address="山东青岛";
</script>

使用new运算符调用Object()构造函数可以创建一个对象。第一种创建对象的方式其实和第二种是等效。在这里重提如何声明一个javascript中的“类”,在上面的代码中,很自然的认为Object就是一个类,还有String、Date和Array等,在js中自然不是通过class关键字来声明的,那么在js中是怎么声明的呢,下面看一段代码:

<script>
var myString=new String("乐分享");
</script>

以上代码创建了一个字符串实例,可以认为String是一个"类",通过使用new运算符调用String"类"的构造函数String()来创建的,那么这个String"类"是怎么创建的,那么看一下浏览器的分析。
从以上可以看出String"类"是通过function关键字创建的,也就是说在js中关键字function类似于c#中的关键字class可以用来声明一个"类",再进一步说就是在js中,函数可以认为是一个"类",当使用new运算符调用这个函数的时候就可以创建一个对象。下面我们自己声明一个js中的"类",然后再创建一个对象,代码示例如下:

<script>
function jsclass(){
this.x=1;
this.y=2;
}
var jsobject=new jsclass();
</script>

使用function创建了一个js中的"类"jsclass,然后通过new调用构造函数jsclass()就可以创建一个对象。

最新游戏