`
asyty
  • 浏览: 347802 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript数据类型,类,对象/数组区别

 
阅读更多

几天木有写东西了,随便写点东西。

 

关于JSON(JavaScript Object Natation),简单的说就是轻量级的用于交换数据的格式,基于javascript 语法的子集,即数组和对象表示。(一不小心js部分写长了点,json放下一篇好了)

 

首先说说JS的对象和数组吧。

 

Javascrip数据类型,对象与数组:

javascript 的数据结构主要有以下四种基本数据类型,string,number,boolean,null,js还有复杂的数据结构,即对象。我们可以把数组看成一种特殊的对象。对象和数组里都可以包含不同的类型,包括对象和数组。

 

js对象的定义如下:

 

var boy= {
        "name": "xiaoming",       
        "age" : 4,
        "city" : "杭州"
        "hasBrother":true
};

 

 对象可以看成是容器,里面装了许多的key-value对,类似于java里Map<String,Object>。我们可以这样获取值

 

alert("name = " + boy["name"] );

alert("age=" + boy.age);

 

 

而数组可以和对象最大的不同是,数组是有序的,不是采用key的方式获取值,而是通过index来索引,相对对象来说还多了length属性。

 

var array=["hello", 12, true , null];
alert(array[0]);

 

当然 对象和数组是可以混用的,如下简单地混合,当然可以更复杂。

 

var array=["hello", 12, true , {"name": "xiaoming",  "age" : 4}];

var boy= {"name":"xiaoming", "brothers":["xiaohuang","xiaohong"]};

需要注意的是,平时我们可以通过这样定义

 

var a = [1,2,3]; //定义一个数组
alert(a.length); //结果为3

a["name"] = "xiaoming"; //我们再给它赋值
alert(a.length); //结果还是为3

a.push(4);
alert(a.length); //结果为4

上面的代码a["name"]="xiaoming"是给a数组增加了一个属性叫name,而不是在数组里添加数据。

 

其实可以把数组想象成这种格式,即特殊的对象(type这个属性是随便写的,)

 

var array= {
        "type":"array",
        "value":[1,2,3],
        "length":3
};
加上 a["name"] = "xiaoming"; 之后,array的变成这样,并不影响数组本身的值。
array= {
	"type":"array",
	"name":"xiaoming",
	"value":[1,2,3],
        "length":3
};

就写这么多吧,本来是想写JSON的,不过js写了这么长,单独一篇算了。。。。。

 

补充javascript类的定义 zz http://www.iteye.com/topic/177982

如何定义一个js类,包括js公有成员定义、私有成员定义、特权方法定义的简单示例(类似于JAVA里的public private 和protect)

 

 

<script>	
	//定义一个javascript类
	function JsClass(privateParam/*  */,publicParam){//构造函数
		var priMember = privateParam;	//私有变量
		this.pubMember = publicParam;	//公共变量
		//定义私有方法
		function priMethod(){
			return "priMethod()";
		}
		//定义特权方法
		//特权方法可以访问所有成员
		this.privilegedMethod = function(){
			var str = "这是特权方法,我调用了\n";
			str += "        私有变量:" + priMember +"\n";
			str += "        私有方法:" + priMethod() +"\n";
			str += "        公共变量:" + this.pubMember +"\n";
			str += "        公共方法:" + this.pubMethod();
			
			return str;
		}		
	}
	//添加公共方法
	//不能调用私有变量和方法
	JsClass.prototype.pubMethod = function(){
		return "pubMethod()";
	}

	//使用 JsClass的实例
	JsObject = new JsClass("priMember","pubMember");
	
	//alert(JsObject.pubMember);//弹出pubMember信息
	//alert(JsObject.priMember);//弹出undefined信息
	//alert(JsObject.pubMethod());//弹出pubMethod信息
	//alert(JsObject.priMethod());//弹出"对象不支持此属性或方法"的错误
	alert(JsObject.privilegedMethod());
</script>
 

 

转载请注明源

http://asyty.iteye.com/blog/1260933

 

 

分享到:
评论
3 楼 小月峰 2011-12-15  
你的帖子 都很有研价值 学习下
2 楼 asyty 2011-12-03  
zhuzhuaijq 写道
oh 学习了 !!!

呵呵 刚又补充了点东西
1 楼 zhuzhuaijq 2011-12-02  
oh 学习了 !!!

相关推荐

    javascript中数组、对象

    这篇文章将深入探讨这两种数据类型,以及相关的操作和工具。 **一、数组** 数组在JavaScript中是有序的数据集合,可以存储不同类型的数据。创建一个数组有两种方式: 1. 使用Array构造函数: ```javascript var...

    js删除对象/数组中null、undefined、空对象及空数组方法示例

    在JavaScript编程中,有时我们需要处理复杂的数据结构,例如对象和数组,确保它们不包含`null`、`undefined`、空对象或空数组。这在与后台交互时特别重要,因为这些值可能被视为无效数据。本篇文章将深入探讨如何...

    经典ASP读取JSON字符串/生成JSON对象,数组对象等。

    在处理JSON时,应考虑解析错误、数据类型不匹配等情况。例如,使用`aspjson`时,如果JSON字符串格式不正确,`LoadJSON`会抛出异常,需要捕获并处理。 7. **文件`asp_json_read`**: 这个文件可能包含了读取JSON...

    javascript中的数组对象以及json学习笔记

    JSON支持的数据类型有字符串、数字、布尔值、null、数组以及嵌套的对象。JavaScript可以通过`JSON.parse()`方法将JSON字符串转换为JavaScript对象,而`JSON.stringify()`方法则用于将JavaScript对象转换为JSON字符串...

    JavaScript对象与数组参考大全

    2. 对象数组:数组中存储的是对象,常用于结构化数据,如记录用户信息的数组。 3. 键值对:数组的索引与对象的键相似,但数组的索引是有序的,而对象的键通常是无序的。 四、高级特性 1. 解构赋值:允许从数组或...

    JavaScript视频教程-5.数组和对象(1)

    对象是JavaScript中的核心概念,它们是键值对的集合,键通常为字符串,值可以是任何数据类型。对象可以用花括号{}来创建,属性用逗号分隔: ```javascript var person = { name: 'John Doe', age: 30, city: '...

    JavaScript对象与数组参考大全JavaScript语法结构

    它的语法结构包括了对象和数组这两种数据类型,它们是构建复杂程序的基础。在本篇内容中,我们将深入探讨JavaScript对象和数组的详细知识。 一、JavaScript对象 1. 对象定义:JavaScript对象是一种键值对的集合,键...

    Unity3D教程:Array数组类的使用(二)1

    在Unity3D中,数组是一种基础数据结构,用于存储同类型的数据集合。本教程主要关注Array数组类在JavaScript中的使用。 Array 类是Unity3D中JavaScript的特定实现,它提供了丰富的函数和属性来操作数组。数组的长度...

    JavaScript数组用法详解

    JavaScript 数组的元素可以是任何类型,包括数字、字符串、对象、函数等。数组的长度可以动态地变化,可以通过 push()、pop()、shift()、unshift() 等方法来添加或删除元素。 JavaScript 数组有多种创建方式,...

    JavaScript:数组与字符串操作教程

    #### 一、变量与数据类型 在JavaScript中,变量是用来存储数据值的重要工具。由于JavaScript是一种弱类型语言,因此在声明变量时无需明确指定其类型,变量的类型会根据所赋的值自动确定。 ##### 示例: ```...

    JSON PHP中,Json字符串反序列化成对象/数组的方法

    接下来,`json_decode()`函数的作用是将JSON格式的字符串转换回PHP中可识别的数据类型,即可以将其转换成对象或数组。`json_decode()`的第二个参数是一个布尔值,用来指示返回的数据类型。当设置为`false`时,`json_...

    Javascript数组及其操作

    数组是一种复杂的数据类型,可以存储不同的数据类型,如数字、字符串、对象等。 创建数组 在 Javascript 中,可以使用三种方式创建数组: 1. 单纯创建数组:`var arr = new Array();` 2. 创建数组的同时规定数组...

    javascript判断一个变量是数组还是对象

    我们能够使用typeof判断变量的身份,判断字符串得到string,数字和NaN得到number,函数会得到function等,但是判断数组,对象和null时都会得到object,详细请看js数据类型,这就是typeof的局限性,并不能准确的判断...

    请注意: NaN 的数据类型是数字 数组的数据类型是对象 日期的数据类型是对象 null 的数据类型是 object 未定义变

    在 JavaScript 中有 5 种不同的可以包含值的数据类型: ● string ● number ● boolean ● object ● function 有 6 种类型的对象: ● Object ● Date ● Array ● String ● Number ● Boolean 以及 2 种不能包含...

    js 对象、数组赋值不指定路径(简洁写法).pdf

    在JavaScript中,对象和数组的赋值操作与基本数据类型如字符串、整数或布尔值的赋值有所不同。这是因为在JavaScript中,对象和数组是引用类型,它们在内存中分配的位置是固定的,赋值实际上是复制了对这个内存位置的...

    JavaScript实现Array(数组)和Map

    JavaScript数组可以包含任意类型的值,包括数字、字符串、对象等。此外,JavaScript提供了一系列内置方法来操作数组,如push()用于在数组末尾添加元素,pop()用于移除末尾元素,slice()用于提取数组的一部分,concat...

    JS数组中对象去重操作示例

    - **《JavaScript数据结构与算法技巧总结》**:涵盖栈、队列、链表、树等数据结构以及排序、搜索等算法。 - **《JavaScript错误与调试技巧总结》**:指导如何识别、分析和修复JavaScript中的错误。 通过这个示例...

    JS对象与数组参考大全

    本参考大全将深入探讨这两种数据类型及其常用方法,帮助开发者更好地理解和运用。 ### 一、JS对象 **1. 对象创建** 在JavaScript中,对象可以通过字面量语法或构造函数来创建。字面量语法是创建对象的最直接方式:...

Global site tag (gtag.js) - Google Analytics