么是对象?把一些"名字-属性"的组合放在一个单元里面,就组成了一个对象。我们可以理解为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。
分享到:
相关推荐
2、数组:数组在js中是中括号“[]”扩起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。 经过对象、数组2...
下面是关于 方括号[] 的疑问: 在JS中,[]几乎就和数组画上了等号,但也有神奇的时候。 [1,2,3][1]; // return 2; 当然这种方法也经常使用,常用于数组的索引 和 调用的对象的响应属性名存放在某个变量时。 [1,2,3]...
在json中,有两种结构:对象和数组。 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符...
在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是...
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构 1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,…}的...
可以把—个用逗号分隔的表达式列表放在方括号中,创建并初始化—个数组。这些表达式的值将成为数组元素。例如: var a = [1, true, ‘abc’]; 具体操作查看API. ps:必须方括号隔开。 2.关联数组 1.语法:var myhash=...
字符串和数组有很多的相同之处,它们的方法众多,且相似度很高;但它们又有不同之处,字符串是不可变值,于是可以把其看作只读的数组。本文将对字符串和数组的类似方法进行比较 可索引 ECMAScript5定义了一种访问...
JSON中有且只有两种结构:对象和数组。 1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很...
在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是...
在JSON中有两种数据结构:对象和数组。 1.1对象 在JSON中,一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号),冒号后是该名称的值,多个“名称:值”之间使用 “,”...
确保哈希图和数组保持同步。 与Array完全兼容,可以在使用Array的任何地方替换。 ##安装 您可以通过Bower安装该应用程序。 确保以特定版本为目标,以确保长期兼容性。 ## Dependencies edm-collection依赖...