第3章 对象与JSON{JavaScript内核系列}
json的结构和表示方式(对象object、数组array)

json的结构和表⽰⽅式(对象object、数组array)json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表⽰各种复杂的结构1、对象:对象在js中表⽰为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在⾯向对象的语⾔中,key为对象的属性,value为对应的属性值,所以很容易理解,取值⽅法为对象.key 获取属性值,这个属性值的类型可以是数字、字符串、数组、对象⼏种。
2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值⽅式和所有语⾔中⼀样,使⽤索引获取,字段值的类型可以是数字、字符串、数组、对象⼏种。
object类型的表⽰⽅式:person = {name : "Nicholas", //使⽤逗号“,”来分隔不同的属性age : 29 //最后⼀个属性后⾯不能加逗号,会出错};array类型的表⽰⽅式:colors = ["red", "blue", "green"];下图代码同时包含了object和array{"animals": {"dog": [{"name": "Rufus","age":15},{"name": "Marty","age": null}]}。
json的名词解释

json的名词解释JSON是JavaScript Object Notation的缩写,即JavaScript对象表示法。
它是一种轻量级的数据交换格式,常用于在网络中传输和存储数据。
JSON采用易于阅读和编写的文本形式,以键值对的方式来表示数据。
它在Web开发中被广泛使用,成为了一种事实上的标准。
JSON的语法简洁明了,容易理解。
它由两种基本数据结构组成:对象和数组。
对象是无序的键值对集合,用花括号{}表示;数组是有序的值的集合,用方括号[]表示。
每个键值对包括一个名称和一个值,名称和值之间用冒号:分隔,多个键值对之间用逗号,分隔。
JSON支持的数据类型包括字符串、数字、布尔值、null、数组和对象。
字符串由双引号""包围,其中可以包含任意Unicode字符;数字可以是整型或浮点型;布尔值表示为true或false;null表示空值。
数组可以包含多个值,每个值之间用逗号分隔;对象可以包含多个键值对,每个键值对之间也用逗号分隔。
使用JSON可以方便地将数据从一个应用程序传输到另一个应用程序,或者将数据存储到文件中。
通过将数据转换为JSON格式,不仅可以节省带宽,还可以简化数据的解析和处理过程。
与传统的XML相比,JSON更加简洁高效,因此在Web开发中得到了广泛应用。
在实际应用中,JSON常用于前后端数据交互。
前端通过Ajax请求后端服务器获取数据,后端将数据以JSON格式返回给前端,前端再进行解析和展示。
这种方式可以实现前后端的解耦,使开发更加灵活和高效。
除了数据交换,JSON还可以用于配置文件。
很多应用程序使用JSON格式来存储和读取配置信息,通过修改JSON配置文件可以方便地调整程序的行为和功能。
这种配置方式具有可读性强、易于修改和维护的优点,被广泛应用于各种软件和系统。
另外,JSON还支持嵌套和复杂数据结构。
对象和数组可以相互嵌套,从而构建出复杂的数据结构。
这样的特性使得JSON可以灵活地表示和处理各种类型的数据。
解析json的原理

解析json的原理JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以文本形式表示数据,易于阅读和编写。
JSON格式被广泛应用于Web应用程序中,用于数据传输和存储。
本文将解析JSON的原理进行详细分析,帮助读者对JSON有更深入的了解。
一、JSON的基本结构JSON由键值对组成,其中键(key)是一个字符串(string),值(value)可以是字符串、数值、布尔值、数组(array)、对象(object)或null。
以下为一个简单的JSON示例:{"name": "John","age": 30,"employed": true,"pets": ["dog", "cat"],"address": {"city": "New York","state": "NY"},"education": null}在以上示例中,name、age、employed等为键,"John"、30、true等为对应的值,整个JSON对象用花括号括起来。
二、JSON的解析原理JSON解析的过程可以分为两个主要步骤:扫描和解析。
1. 扫描(Scanning):扫描即遍历JSON文本的过程。
解析器会逐个检查JSON文本中的字符,把它们分类为键、值、字符串、数组、对象等类型,并记录下它们的位置和关系。
在扫描过程中,解析器会忽略空格、换行和制表符等空白字符。
当遇到左花括号({)时,解析器会创建一个新的对象,当遇到右花括号(})时,解析器会结束当前对象的解析。
同理,遇到左方括号([)时,解析器会创建一个新的数组,遇到右方括号(])时,解析器会结束当前数组的解析。
javascript 核心原理pdf

javascript 核心原理pdf全文共四篇示例,供读者参考第一篇示例:JavaScript是一种广泛应用于前端开发的编程语言,它是实现Web页面交互性的重要工具。
要想掌握JavaScript编程,了解其核心原理至关重要。
本文将深入探讨JavaScript的核心原理,并提供一份《JavaScript核心原理PDF》供读者参考。
JavaScript的核心原理主要包括以下几个方面:数据类型、变量、运算符、控制流程、函数、对象、数组、闭包等。
首先我们来介绍JavaScript的数据类型。
JavaScript有七种基本数据类型,分别是字符串(String)、数字(Number)、布尔值(Boolean)、undefined、null、Symbol和BigInt。
除了基本数据类型外,JavaScript还有一种复杂数据类型——对象(Object),对象是一种无序的数据集合,包含键值对。
变量是存储数据的容器,使用var、let或const关键字声明一个变量。
JavaScript支持赋值运算符(=)、算术运算符(+、-、*、/等)、比较运算符(==、!=、>、<等)、逻辑运算符(&&、||、!等)等。
控制流程是编程中的基本元素,主要包括条件语句(if、else if、else)、循环语句(for、while、do while)、跳转语句(break、continue、return)等。
函数是JavaScript中的重要概念,函数是一段可重复使用的代码块,可以接受参数并返回值。
JavaScript中的函数可以嵌套定义,函数也是一种对象,因此函数可以作为对象的属性。
JavaScript中还有一种特殊的函数——匿名函数,匿名函数没有名称,通常用于定义回调函数。
对象是JavaScript编程中的核心概念,对象是一种复杂数据类型,是由键值对组成的无序集合。
JavaScript中的对象可以是内置对象(如Array、Math、Date等)、宿主对象(由JavaScript外部环境提供的对象,如浏览器对象)或自定义对象。
jsonobject动态解析多层嵌套构造

jsonobject动态解析多层嵌套构造
【最新版】
目录
1.JSON 对象的概述
2.多层嵌套构造的解析方法
3.JSON 对象的动态解析
4.应用实例
正文
1.JSON 对象的概述
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。
JSON 对象是 JSON 数据格式中的一种,可以用来表示对象和数组等数据结构。
JSON 对象的格式为:{key1: value1, key2: value2,...},其中 key 为键,value 为值。
2.多层嵌套构造的解析方法
在 JSON 对象中,常常会出现多层嵌套的情况,即一个对象包含多个对象或数组,而这些对象或数组又可能继续包含其他对象或数组。
对于这种多层嵌套的构造,我们可以采用递归的方法进行解析。
具体来说,就是先遍历整个 JSON 对象,找到其中的对象和数组,然后对每个对象和数组进行递归解析,直到整个 JSON 对象被完全解析。
3.JSON 对象的动态解析
JSON 对象的动态解析,主要是指在运行时根据 JSON 对象的结构进行解析。
这种解析方法相对于静态解析,更加灵活,能够适应不同结构的JSON 对象。
在动态解析中,常常使用的方法是递归遍历 JSON 对象,根据对象的键值对进行解析。
第1页共1页。
Java与JSON的数据交互与解析方法

Java与JSON的数据交互与解析方法随着互联网的快速发展,数据交互成为了现代软件开发中不可或缺的一部分。
在这个过程中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,被广泛应用于各种编程语言中。
而对于Java开发者来说,掌握Java与JSON 的数据交互与解析方法是非常重要的。
首先,我们来了解一下JSON的基本概念。
JSON是一种基于文本的数据交换格式,它由键值对组成,使用简单的语法来表示数据结构。
JSON可以表示简单的数据类型,如字符串、数字、布尔值等,也可以表示复杂的数据结构,如数组和对象。
在Java中,我们可以使用各种库和工具来进行JSON的数据交互与解析。
在Java中,常用的JSON库有Gson、Jackson和Fastjson等。
这些库提供了一系列的API和工具,使得Java与JSON之间的数据交互变得非常简单。
下面,我们将介绍一些常用的数据交互与解析方法。
首先,我们来看一下如何将Java对象转换为JSON格式的数据。
假设我们有一个名为Person的Java类,它包含了姓名、年龄和性别等属性。
我们可以使用JSON库提供的API将Person对象转换为JSON格式的数据。
以Gson库为例,我们可以使用以下代码实现:```javaPerson person = new Person("张三", 25, "男");Gson gson = new Gson();String json = gson.toJson(person);```上述代码中,我们首先创建了一个Person对象,并设置了相应的属性。
然后,我们创建了一个Gson对象,通过调用toJson方法将Person对象转换为JSON格式的字符串。
接下来,我们来看一下如何将JSON格式的数据解析为Java对象。
同样以Gson库为例,我们可以使用以下代码实现:```javaString json = "{\"name\":\"张三\",\"age\":25,\"gender\":\"男\"}";Gson gson = new Gson();Person person = gson.fromJson(json, Person.class);```上述代码中,我们首先创建了一个JSON格式的字符串,其中包含了姓名、年龄和性别等属性。
js中的json对象的parse方法
JavaScript 中 JSON 对象的 parse 方法本文介绍了 JavaScript 中 JSON 对象的 parse 方法的作用和使用方法。
在 JavaScript 中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写。
JSON 对象的 parse 方法则是将 JSON 字符串解析为 JavaScript 对象的函数。
JSON 对象的 parse 方法的语法如下:```javascriptparse(jsonString, [reviver]);```其中,jsonString 参数表示需要解析的 JSON 字符串,reviver 参数(可选)用于指定一个函数,该函数会在解析过程中对每个对象进行处理。
使用 JSON 对象的 parse 方法可以将 JSON 字符串解析为JavaScript 对象。
例如:```javascriptvar jsonString = "{"name":"张三","age":25,"hobbies":["篮球","足球"]}";var jsonObject = JSON.parse(jsonString);console.log(); // 输出:张三console.log(jsonObject.age); // 输出:25console.log(jsonObject.hobbies[0]); // 输出:篮球```在上面的例子中,我们首先定义了一个包含 JSON 字符串的变量`jsonString`,然后使用`JSON.parse()`方法将其解析为JavaScript 对象`jsonObject`。
接着,我们通过`console.log()`方法输出了`jsonObject`对象中的`name`、`age`和`hobbies`属性值。
java把对象转成json原理
java把对象转成json原理在Java编程中,对象是以一种特定的格式进行存储和传输的。
然而,在某些情况下,我们需要将Java对象转换成JSON(JavaScript对象表示法)格式,以便能够与其他系统进行交互。
本文将介绍Java将对象转换成JSON的原理及相关工具。
1. JSON简介JSON是一种用于数据交换的轻量级数据格式。
它由键值对组成,并使用大括号进行包裹。
键值对中的键和值之间使用冒号分隔,各个键值对之间使用逗号分隔。
JSON的值可以是字符串、数字、布尔值、数组、对象或者null。
2. Java对象转换成JSON的原理Java对象转换成JSON的过程称为序列化,而JSON转换成Java对象的过程称为反序列化。
Java提供了一些库和工具,可以帮助我们实现对象和JSON格式之间的转换。
2.1 使用Jackson库Jackson是在Java中进行JSON数据处理的最流行和常用库之一。
它提供了一系列的API,可以在Java对象和JSON格式之间进行转换。
Jackson的核心模块包括三大部分:Jackson Databind、Jackson Core和Jackson Annotations。
下面是一个使用Jackson库将Java对象转换成JSON格式的示例代码:```ObjectMapper objectMapper = new ObjectMapper();String json = objectMapper.writeValueAsString(object);```在这个示例中,我们首先创建了一个ObjectMapper对象,它是Jackson库中最重要的类之一。
然后,我们使用`writeValueAsString()`方法将Java对象转换成JSON字符串。
2.2 使用Gson库Gson是另一个常用的Java库,用于将Java对象转换成JSON格式和将JSON格式转换成Java对象。
它是由Google开发并维护的,具有良好的性能和易用性。
JSON与JS对象的区别与对比
JSON与JS对象的区别与对⽐定义: JSON是什么?JSON是JS的⼀种简单数据格式,JSON是JavaScript原⽣格式,它是⼀种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号。
问题: JSON是什么?(JSON和JavaScrip对象有什么区别?)如何把JS对象转换位JSON字符串⼜如何把JSON字符串转换成JavaScript对象? 答:JSON (JavaScript Object Notation) ⼀种简单的数据格式,⽐Xml更轻巧。
JSON 是JavaScript原⽣格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API 或者⼯具包。
JSON的规则很简单:对象是⼀个⽆序的“名称/值”对集合。
⼀个对象以"{"(左括号)开始,“}”(右括号)结束。
每个"名称"后跟⼀个":"(冒号);“名称/值”对之间使⽤","(逗号)分隔。
它是⼀种严格的JS对象的格式,JSON属性名称必须有双引号,如果值是字符串,也必须是双引号;JSON只是⼀种数据格式; <script> var obj ={};//这只是JS对象 var obj1={width:100,height:200}//JS对象 var obj2={'width':100,'height':100}//JS对象 var obj3={"width":100,"height":100,"name":"rose"}//JSON格式的JS对象 var obj4='{"width":100,"height":200,"name":"rose"}';/*我们可以把这个称做:JSON格式的字符串 */ var array=[ {"width":100,"height":200,"name":"rose"}, {"width":100,"height":200,"name":"rose"},{"width":100,"height":200,"name":"rose"}, ] /*这个叫JSON格式的数组,是JSON的稍复杂⼀点的形式 */ var arrayStr='['+ '{"width":100,"height":200,"name":"rose"},'+ '{"width":100,"height":200,"name":"rose"},'+ '{"width":100,"height":200,"name":"rose"},'+ ']';/* 这个叫稍复杂⼀点的JSON格式的字符串 */ </script>区别JSON Javascript含义仅仅是⼀种数据格式表⽰类的实例传输可以跨平台数据传输,速度快不能传输表现1.简直对⽅式,键必须加双引号2.值不能是⽅法函数,不能是undefined/NaN1.键值对⽅式,键不加引号2.值可以是函数、对象、字符串、数字、boolean 等相互转换Json转换Js对象1.JSON.parse(JsonStr);(不兼容IE7)2.eval("("+jsonStr+")");(兼容所有浏览器,但不安全,会执⾏json⾥⾯的表达式?)js对象转换JsonJSON.stringify(jsObj);其他调⽤JSON官⽹的JS,实现parse和stringify在哥哥浏览器的兼容:总⽽⾔之你可以理解为JSON是JS下的⼀种数据格式,他从属于JS,并且在处理JSON数据时可直接使⽤JS内置API。
深入理解JavaScript,这一篇就够了
深⼊理解JavaScript,这⼀篇就够了前⾔ JavaScript 是我接触到的第⼆门编程语⾔,第⼀门是 C 语⾔。
然后才是 C++、Java 还有其它⼀些什么。
所以我对 JavaScript 是⾮常有感情的,毕竟使⽤它有⼗多年了。
早就想写⼀篇关于 JavaScript ⽅⾯的东西,但是在博客园中,写 JavaScript 的⽂章是最多的,从⼊门的学习笔记到⾼⼿的⼼得体会⼀应俱全,不管我怎么写,都难免落⼊俗套,所以迟迟没有动笔。
另外⼀个原因,也是因为在 Ubuntu 环境中⼀直没有找到很好的 JavaScript 开发⼯具,这种困境直到 Node.js 和 Visual Studio Code 的出现才完全解除。
⼗多年前,对 JavaScript 的介绍都是说他是基于对象的编程语⾔,⽽从没有哪本书会说 JavaScript 是⼀门⾯向对象的编程语⾔。
基于对象很好理解,毕竟在 JavaScript 中⼀切都是对象,我们随时可以使⽤点号操作符来调⽤某个对象的⽅法。
但是⼗多年前,我们编写 JavaScript 程序时,都是像 C 语⾔那样使⽤函数来组织我们的程序的,只有在论坛的某个⾓落中,有少数的⾼⼿会偶尔提到你可以通过修改某个对象的prototype来让你的函数达到更⾼层次的复⽤,直到 Flash 的 ActionScript 出现时,才有⼈系统介绍基于原型的继承。
⼗余年后的现在,使⽤JavaScript 的原型链和闭包来模拟经典的⾯向对象程序设计已经是⼴为流传的⽅案,所以,说 JavaScript 是⼀门⾯向对象的编程语⾔也丝毫不为过。
我喜欢 JavaScript,是因为它⾮常具有表现⼒,你可以在其中发挥你的想象⼒来组织各种不可思议的程序写法。
也许 JavaScript 语⾔并不完美,它有很多缺陷和陷阱,⽽正是这些很有特⾊的语⾔特性,让 JavaScript 的世界出现了很多奇技淫巧。
对象和原型链 JavaScript 是⼀门基于对象的编程语⾔,在 JavaScript 中⼀切都是对象,包括函数,也是被当成第⼀等的对象对待,这正是 JavaScript 极其富有表现⼒的原因。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JavaScript内核系列第3章对象与JSON原创作者: abruzzi阅读:1245次评论:7条更新时间:2010-04-12 收藏第三章对象与JSONJavaScript对象与传统的面向对象中的对象几乎没有相似之处,传统的面向对象语言中,创建一个对象必须先有对象的模板:类,类中定义了对象的属性和操作这些属性的方法。
通过实例化来构筑一个对象,然后使用对象间的协作来完成一项功能,通过功能的集合来完成整个工程。
而Javascript中是没有类的概念的,借助JavaScript的动态性,我们完全可以创建一个空的对象(而不是类),通过像对象动态的添加属性来完善对象的功能。
JSON是JavaScript中对象的字面量,是对象的表示方法,通过使用JSON,可以减少中间变量,使代码的结构更加清晰,也更加直观。
使用JSON,可以动态的构建对象,而不必通过类来进行实例化,大大的提高了编码的效率。
3.1 Javascript对象JavaScript对象其实就是属性的集合,这里的集合与数学上的集合是等价的,即具有确定性,无序性和互异性,也就是说,给定一个JavaScript对象,我们可以明确的知道一个属性是不是这个对象的属性,对象中的属性是无序的,并且是各不相同的(如果有同名的,则后声明的覆盖先声明的)。
一般来说,我们声明对象的时候对象往往只是一个空的集合,不包含任何的属性,通过不断的添加属性,使得该对象成为一个有完整功能的对象,而不用通过创建一个类,然后实例化该类这种模式,这样我们的代码具有更高的灵活性,我们可以任意的增删对象的属性。
如果读者有python或其他类似的动态语言的经验,就可以更好的理解JavaScript的对象,JavaScript对象的本身就是一个字典(dictionary),或者Java语言中的Map,或者称为关联数组,即通过键来关联一个对象,这个对象本身又可以是一个对象,根据此定义,我们可以知道JavaScript对象可以表示任意复杂的数据结构。
3.1.1 对象的属性属性是由键值对组成的,即属性的名字和属性的值。
属性的名字是一个字符串,而值可以为任意的JavaScript对象(JavaScript中的一切皆对象,包括函数)。
比如,声明一个对象:Js代码1. //声明一个对象2. var jack = new Object();3. = "jack";4. jack.age = 26;5. jack.birthday = new Date(1984, 4, 5);6.7. //声明另一个对象8. var address = new Object();9. address.street = "Huang Quan Road";10. address.xno = "135";11.12. //将addr属性赋值为对象address13. jack.addr = address;这种声明对象的方式与传统的OO语言是截然不同的,它给了我们极大的灵活性来定制一个对象的行为。
对象属性的读取方式是通过点操作符(.)来进行的,比如上例中jack对象的addr属性,可以通过下列方式取得:Js代码1. var ja = jack.addr;2.3. ja = jack[addr];后者是为了避免这种情况,设想对象有一个属性本身包含一个点(.),这在JavaScript中是合法的,比如说名字为foo.bar,当使用jack.foo.bar的时候,解释器会误以为foo属性下有一个bar的字段,因此可以使用jack[foo.bar]来进行访问。
通常来说,我们在开发通用的工具包时,应该对用户可能的输入不做任何假设,通过[属性名]这种形式则总是可以保证正确性的。
3.1.2属性与变量在第二章,我们讲解了变量的概念,在本章中,读者可能已经注意到,这二者的行为非常相似,事实上,对象的属性和我们之前所说的变量其实是一回事。
JavaScript引擎在初始化时,会构建一个全局对象,在客户端环境中,这个全局对象即为window。
如果在其他的JavaScript环境中需要引用这个全局对象,只需要在顶级作用域(即所有函数声明之外的作用域)中声明:Js代码1. var global = this;我们在顶级作用域中声明的变量将作为全局对象的属性被保存,从这一点上来看,变量其实就是属性。
比如,在客户端,经常会出现这样的代码:Js代码1. var v = "global";2.3. var array = ["hello", "world"];4.5. function func(id){6. var element = document.getElementById(id);7. //对elemen做一些操作8. }事实上相当于:Js代码1. window.v = "global";2.3. window.array = ["hello", "world"];4.5. window.func = function(id){6. var element = document.getElementById(id);7. //对elemen做一些操作8. }3.1.3原型对象原型(prototype),是JavaScript特有的一个概念,通过使用原型,JavaScript可以建立其传统OO语言中的继承,从而体现对象的层次关系。
JavaScript本身是基于原型的,每个对象都有一个prototype的属性来,这个prototype本身也是一个对象,因此它本身也可以有自己的原型,这样就构成了一个链结构。
访问一个属性的时候,解析器需要从下向上的遍历这个链结构,直到遇到该属性,则返回属性对应的值,或者遇到原型为null的对象(JavaScript的基对象Object的prototype属性即为null),如果此对象仍没有该属性,则返回undefined.下面我们看一个具体的例子:Js代码1. //声明一个对象base2. function Base(name){3. = name;4. this.getName = function(){5. return ;6. }7. }8.9. //声明一个对象child10. function Child(id){11. this.id = id;12. this.getId = function(){13. return this.id;14. }15. }16.17. //将child的原型指向一个新的base对象18. Child.prototype = new Base("base");19.20. //实例化一个child对象21. var c1 = new Child("child");22.23. //c1本身具有getId方法24. print(c1.getId());25. //由于c1从原型链上"继承"到了getName方法,因此可以访问26. print(c1.getName());得出结果:childbase由于遍历原型链的时候,是有下而上的,所以最先遇到的属性值最先返回,通过这种机制可以完成重载的机制。
3.1.4 this指针JavaScript中最容易使人迷惑的恐怕就数this指针了,this指针在传统OO语言中,是在类中声明的,表示对象本身,而在JavaScript中,this表示当前上下文,即调用者的引用。
这里我们可以来看一个常见的例子:Js代码1. //定义一个人,名字为jack2. var jack = {3. name : "jack",4. age : 265. }6.7. //定义另一个人,名字为abruzzi8. var abruzzi = {9. name : "abruzzi",10. age : 2611. }12.13. //定义一个全局的函数对象14. function printName(){15. return ;16. }17.18. //设置printName的上下文为jack, 此时的this为jack19. print(printName.call(jack));20. //设置printName的上下文为abruzzi,此时的this为abruzzi21. print(printName.call(abruzzi));运行结果:jackAbruzzi应该注意的是,this的值并非函数如何被声明而确定,而是被函数如何被调用而确定,这一点与传统的面向对象语言截然不同,call是Function上的一个函数,详细描述在第四章。
3.2使用对象对象是JavaScript的基础,我们使用JavaScript来完成编程工作就是通过使用对象来体现的,这一小节通过一些例子来学习如何使用JavaScript对象:对象的声明有三种方式:Ø 通过new操作符作用域Object对象,构造一个新的对象,然后动态的添加属性,从无到有的构筑一个对象。
Ø 定义对象的“类”:原型,然后使用new操作符来批量的构筑新的对象。
Ø 使用JSON,这个在下一节来进行详细说明这一节我们详细说明第二种方式,如:Js代码1. //定义一个"类",Address2. function Address(street, xno){3. this.street = street || 'Huang Quan Road';4. this.xno = xno || 135;5. this.toString = function(){6. return "street : " + this.street + ", No : " + this.xno;7. }8. }9.10. //定义另一个"类",Person11. function Person (name, age, addr) {12. = name || 'unknown';13. this.age = age;14. this.addr = addr || new Address(null, null);15. this.getName = function () {return ;}16. this.getAge = function(){return this.age;}17. this.getAddr = function(){return this.addr.toString();}18. }19.20. //通过new操作符来创建两个对象,注意,这两个对象是相互独立的实体21. var jack = new Person('jack', 26, new Address('Qing Hai Road', 123));22. var abruzzi = new Person('abruzzi', 26);23.24. //查看结果25. print(jack.getName());26. print(jack.getAge());27. print(jack.getAddr());28.29. print(abruzzi.getName());30. print(abruzzi.getAge());31. print(abruzzi.getAddr());运行结果如下:jack26street : Qing Hai Road, No : 123abruzzi26street : Huang Quan Road, No : 1353.3 JSON及其使用JSON全称为JavaScript对象表示法(JavaScript Object Notation),即通过字面量来表示一个对象,从简单到复杂均可使用此方式。