在线客服:
亚博电子竞技 亚博电子竞技
全国服务热线:010-36808908
您的位置:首页 > 新闻中心 >

JavaScript创建对象的三种方法

浏览 112次 来源:【jake推荐】 作者:-=Jake=-    时间:2021-01-16 13:01:27
[摘要] JavaScript中对象的创建有以下几种方式:(3)自定义对象构造Notation)即JavaScript对象命名,是一种轻量级的数据交换格式,易于阅读和编写,同时也易于及其解析和生成。三、自定义对象构造创建高级对象构造有两种方式:使用“this”关键字构造、使用原型prototype构造。

有几种方法可以用JavaScript创建对象:

(1)使用内置对象

([2)使用JSON表示法

([3)自定义对象结构

一、使用内置对象

可用于JavaScript的内置对象可以分为两种类型:

1,JavaScript语言本机对象(语言级对象),例如String,Object,Function等;

2,JavaScript运行时的宿主对象(环境宿主级别的对象),例如窗口,文档,主体等。

通过使用内置对象,我们的意思是通过JavaScript语言本机对象的构造方法实例化一个新对象。如:

复制代码yabo88登陆 ,代码如下:

var str = new String(“ instance initialize String”);

var str1 =“直接分配的字符串”;

var func = new Function(“ x”,“ alert(x)”); //示例初始化函数

var o = new Object(); //该示例初始化一个对象

二、使用JSON表示法

(i)什么是JSON?

JSON(JavaScript对象表示法)是JavaScript对象命名。它是一种轻量级的数据交换格式,易于读取和写入,以及易于解析和生成。它基于“ JavaScript编程语言,标准ECMA-262第三版-1999年12月”的子集。 JSON是一种完全独立于语言的文本格式,因此它成为进行数据交换的理想格式。

JSON本身就是JavaScript,并且是一系列语言,例如ActionScript,C,C#,ColdFusion,E,Java,JavaScript,ML,ObjectiveCAML,Perl,PHP,Python,Rebol,Ruby,Lua等。提供支持,使JSON成为Ajax开发的首选解决方案。

JSON可以通过两种方式构造。一种是使用“键/值对”的简单集合,它们被理解为对象凤凰体育下载 ,记录js定义对象,结构,字典,哈希表,不同语言的键列表或关联数组等,另一种使用值,大多数语言将其理解为数组。

常用的创建方法是第一种js定义对象,它以“键/值对”集合的形式出现。以这种形式,对象以“ {”(左括号)开头,以“}”(右括号)结尾。每个“名称”后跟一个“:”(冒号),“键/值”对用“,”(逗号)分隔。

JSON具有以下特征:(1)简单格式化数据交换;(2)易于人们读写习惯;(3)易于机器分析和操作。

在JavaScript中yabo网页版 ,JSON被理解为对象。通过字符串形式的JSON,可以轻松地将数据解析为JavaScript独占,并且可以读取和传输数据。通过JSON,在一定程度上解决了JavaScript对象无法序列化和作为参数传递的问题。

1,简单的JSON

{姓名:“刘德华”,年龄:“ 25”,性别:“男性”}

2,JSON值的类型

JSON值可以是简单的数据类型,例如数字,浮点数,字符等,或数组和对象。例如,将JSON作为数组的成员键:

{会员:[{{name:“刘德华”}},{name:“ Guo Fucheng”},{name:“张学友”},{name:“黎明”}]}

{

book:[{name:“三个王国的浪漫史”}},{name:“西游记”},{name:“水Mar传”}YOBET体育 ,{name:“红楼梦”}],

作者:[{name:“罗贯中”},{name:“吴承恩”},{name:“施乃安”,{name:“曹雪芹”}}]

}

3,在JavaScript中使用JSON

JSON是原生JavaScript格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。默认情况下,JavaScript将JSON视为对象。

将对象传递给变量,例如:

复制代码,代码如下:

var somebooks = {

book:[{name:“三个王国的浪漫史”}},{name:“西游记”},{name:“水Mar传”},{name:“红楼梦”}],

作者:[{name:“罗贯中”},{name:“吴承恩”},{name:“施乃安”,{name:“曹雪芹”}}]

}

JSON的每个“键”都等同于对象的属性。例如,要使用JavaScript访问该书的第一项,您只需使用“ somebooks.book [0] .name”来获取“三个王国的浪漫”“此值。

我们不仅可以将JSON字符串转换为对象,而且可以将对象“编译”为JSON字符串,以方便JavaScript中对象的传输。例如:

复制代码,代码如下:

var Animals = new Object();

Animals.name =“狗”;

Animals.sex =“男”;

Animals.age =“ 2”;

动物对象无法序列化和传输。将Animals对象转换为JSON字符串,即“ {name:“ dog”,sex:“ Male”,age:“ 2”}“。这样,就将JSON字符串作为HTTP请求的参数进行传递,从而达到对Animals对象进行序列化传输的目的。

(ii)JSON以字符串形式表示JavaScript对象。如:

复制代码,代码如下:

var myObject = {昵称:“我的女孩”,名称:“大猪”};

JSON实际上是在JavaScript对象和字符串之间进行转换的协议。由于JSON的“外观”可以看作是Danmura的字符串,因此JSON在JavaScript的对象传输中可以发挥一定的作用。例如,将对象strObject转换为字符串以进行传输,到达目的地后,可通过eval方法将其还原为对象:

复制代码,代码如下:

功能测试(o)

{

警报(o.name)

}

var strObject ='{昵称:“我的女朋友”,名称:“大猪”}';

test(eval(“(” + strObject +“)”)));

三、自定义对象结构

有两种创建高级对象结构的方法:使用“ this”关键字结构,并使用原型原型结构。如:

复制代码,代码如下:

//使用this关键字定义构造的上下文属性

Function Girl()

{

this.name =“大猪”;

this.age = 20;

this.standing;

this.bust;

this.waist;

this.hip;

}

//使用原型

function Girl(){}

Girl.prototype.name =“大猪”;

Girl.prototype.age = 20;

Girl.prototype.standing;

Girl.prototype.bust;

Girl.prototype.waist;

Girl.prototype.hip;

警报(新女孩(名字);

以上示例中的两个定义基本相同。它们都定义“女孩”对象的属性信息。 “ this”和“ prototype”之间的主要区别在于属性访问的顺序。如:

复制代码,代码如下:

功能测试()

{

this.text = function()

{

alert(“由此定义”);

}

}

Test.prototype.test = function()

{

alert(“由原型定义”);

}

var _o = new Test();

_o.test(); //输出“由此定义”

访问对象的属性或方法时,它将遵循搜索原型链的规则。首先查找其自身的静态属性和方法,然后查找构造上下文的可访问属性和方法,最后查找构造的原型链。

“ this”和“ prototype”的定义之间的另一个区别是属性占据不同的空间。在实例初始化后,请使用“ this”关键字为每个实例打开构造方法中包含的所有属性和方法的空间,并使用“ prototype”定义,因为“ prototype”实际上是对父对象的引用,只是数据的副本,因此它比“ this”节省了初始化和存储资源。

老王
本文标签:javascript

推荐阅读

最新评论