`
victorwmh
  • 浏览: 207928 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

javascript对象和数组/大括号和中括号

 
阅读更多

么是对象?把一些"名字-属性"的组合放在一个单元里面,就组成了一个对象。我们可以理解为javascript中的对象就是一些"键-值"对的集合(An object is a collection of named values. These named values are usually referred to as properties of the object.--《javascript-the definitive guide,5th edition》Section3.5)。
属性名只能是string类型,不能是其他类型,而属性的类型则是任意的(数字/字符串/其他对象...)。可以用new Object()来创建一个空对象,也可以简单的用"{}"来创建一个空对象,这两者的作用是等同的。

一、{ }大括号,定义一个对象。

定义一个对象:
var user = {"name":"zhangs", "age":28};
也可以写成:
var name =  "zhangs", user = {name:name, age:28};

以上两种方式声明的user对象,最终效果是一样的。属性名加不加字符串引号,解析器最终也将其当成字符串,而不会解析成变量的值作为属性名。
访问一个对象的属性,可以用"."来访问:user.name、user.age,也可以用"[]"访问:user["name"]、user["age"],在"[]"里的属性名要加引号,因为对象中的索引都是字符串类型。javasript对象中属性个数是可变的,创建一个对象后可随时对它赋予任何属性。

通过"."操作符获取对象的属性,必须得知道属性的名字。而"[]"操作符获取对象属性的功能更强大一些,可以在"[]"中放入一些表达式来获取属性值,比如在循环控制语句中,而"."操作符则没有这种灵活性。

 

delete操作符可以删除对象中的某个属性,遍历属性可以使用"in"操作符。

var user = {name:"zhangs", age:10, 'intro':"He is the world's best players."}, userinfo = '';
for (var p in user) {
    userinfo += p + ':' + user[p] + '  '; 
}
alert(userinfo);
		
delete user.name;
userinfo = '';
for (var p in user) {
    userinfo += p + ':' + user[p] + '  '; 
}
alert(userinfo);

 


二、[ ]中括号,定义一个数组,也可以理解为数组对象。

定义一个数组:
var users = ["zhangs", "lis", "wange"];
也可以写成:
var users = Array("zhangs", "lis", "wange");

数组用"[]"访问,如: users[0]、users[1]。

定义索引为字符串的数组:
var users = [];
users["name"] = "zhangs";
users["age"] = 20;
users["intro"] = "He is the world's best players.";


三、对象和数组常用混合用法。

var config = {
    switcher: true,
    mapbox: {mousewheel:true, split:8},
    raw: [2600, 1082],
    callback: function() {
    config.counter ++;
    },
    counter: 0
};

config.callback();
alert(config.counter);

上述代码显示将显示数字1。

 

 

分享到:
评论

相关推荐

    json表达式所用到的包

     2、数组:数组在js中是中括号“[]”扩起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。  经过对象、数组2...

    JavaScript中圆括号()和方括号[]的特殊用法疑问解答

    下面是关于 方括号[] 的疑问: 在JS中,[]几乎就和数组画上了等号,但也有神奇的时候。 [1,2,3][1]; // return 2; 当然这种方法也经常使用,常用于数组的索引 和 调用的对象的响应属性名存放在某个变量时。 [1,2,3]...

    javascript解析json格式的数据方法详解

    在json中,有两种结构:对象和数组。 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符...

    javascript操作JSON的要领总结

    在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是...

    iOS中json解析出现的null,nil,NSNumber的解决办法

    json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构 1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,…}的...

    js/jquery解析json和数组格式的方法详解

    可以把—个用逗号分隔的表达式列表放在方括号中,创建并初始化—个数组。这些表达式的值将成为数组元素。例如: var a = [1, true, ‘abc’]; 具体操作查看API. ps:必须方括号隔开。 2.关联数组 1.语法:var myhash=...

    javascript中数组和字符串的方法对比

    字符串和数组有很多的相同之处,它们的方法众多,且相似度很高;但它们又有不同之处,字符串是不可变值,于是可以把其看作只读的数组。本文将对字符串和数组的类似方法进行比较 可索引 ECMAScript5定义了一种访问...

    深入浅析Android JSON解析

    JSON中有且只有两种结构:对象和数组。 1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很...

    JS操作JSON要领详细总结

    在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是...

    Android随手笔记44之JSON数据解析

     在JSON中有两种数据结构:对象和数组。 1.1对象  在JSON中,一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号),冒号后是该名称的值,多个“名称:值”之间使用 “,”...

    edm-collection:正确扩展Array类的Javascript集合类。 还添加了automcatic哈希表,用于快速键搜索

    确保哈希图和数组保持同步。 与Array完全兼容,可以在使用Array的任何地方替换。 ##安装 您可以通过Bower安装该应用程序。 确保以特定版本为目标,以确保长期兼容性。 ## Dependencies edm-collection依赖...

Global site tag (gtag.js) - Google Analytics