JavaScript 对象
发布时间:2023-03-08 13:13:17 所属栏目:教程 来源:
导读:对象 指包含数据和用于处理数据的指令的数据结构. 对象有时也指现实世界中的一些事, 例如在赛车游戏当中一辆车或者一幅地图都可以是一个对象。
JavaScript 中的对象由属性和方法组成。
属性可以是任意 JavaScrip
JavaScript 中的对象由属性和方法组成。
属性可以是任意 JavaScrip
对象 指包含数据和用于处理数据的指令的数据结构. 对象有时也指现实世界中的一些事, 例如在赛车游戏当中一辆车或者一幅地图都可以是一个对象。 JavaScript 中的对象由属性和方法组成。 属性可以是任意 JavaScript 中的数据类型,方法则是一个函数。 1. 创建对象 对象的格式如下: { prop1: 'value1', prop2: , prop3: {}, method1: function() { }, } 其中 prop1、prop2、prop3 都是属性,method1 是方法,属性是任意的数据类型,方法则是一个函数。 可以看到一个属性或者方法,在其名字与值中间采用冒号 : 分隔,属性和方法之间采用逗号 , 分隔。 通常属性和方法的名字会被称为属性名与方法名,属性的值称为属性值,方法的值则直接叫做 方法。 对象符合 key/value 的结构,一个 key 对应一个 value,这种结构也被称为键值对,属性名和方法名都是 key,他们的值都是 value。 注意:在 JavaScript 的对象中,方法和属性的表示其实是一样的。 一个属性的值如果是一个函数,则就把这个属性称之为方法,只是称呼上的不同。 对象最简单的创建方式就是使用对象字面量。 var person = {}; 以上创建了一个最简单的空对象。 对象在 JavaScript 中的应用范围非常广。 可以试想一下,如果需要用变量描述一个人的信息,包括名字、性别、年龄、双亲信息,同时就要表示这个人的一些行为,如说话。 显然数值、字符串、布尔类型这些数据类型是不太适合描述这样一个人的。 这个时候就可以考虑使用对象,也就是说当需要描述的事物变得复合(无法使用单一的数据类型描述的时候),就可以考虑使用对象存储数据。 var person = { 'name': '小明', 'age': , isAdult: false, sex: 'man', hobby: ['eat', 'sleep', 'play doudou'], parents: { mather: { name: '大红', }, father: { name: '大明', }, }, say: function() { console.log('我叫' + this.name + ',我今年' + this.age + '岁了。'); }, }; console.log(person); // 在控制台可以观察 person 对象 上面这个 person 变量就是一个对象,用于描述一个人,这个人具有 name、age 等属性与方法。 在控制台输出对象后,可以对其展开,观察他的内容。 其中部分属性在声明的时候,属性名上加上了引号,这在 JavaScript 中是被允许的,但一般情况下不会加上引号,原因之一是没有必要加,不应该与字符串混淆,另外一点就是可以消除初学者对 JSON 和 JavaScript 对象在理解上的歧义。 2. 操作对象 创建对象主要是为了设置、访问对象的属性值,调用对象的方法等。 2.1 访问对象的属性值 访问属性有 2 种方式: 对象.属性名 对象['属性名'] var obj = { key: 'value', say: function() { console.log('never 996'); }, }; console.log(obj.key); // 输出:"value" console.log(obj['key']); // 输出:"value" obj.say(); // 输出:"never 996" obj['say'](); // 输出:"never 996" 这两种方式都很常用。第二种通常会应用在需要用变量确定属性名的时候去使用。 var person = { age: , name: '鸽手', }; Object.keys(person).forEach(function(key) { console.log(person[key]); }); 以上就是使用第二种方式的场景之一,使用 Object.keys() 获取到 person 的所有属性名组成的数组,对数组做遍历拿到每一个属性名并放在一个变量中,再通过变量访问到对应的属性值。 当试图访问一个不存在的属性的时候,则会返回 undefined。 var obj = {}; console.log(obj.value); // 输出:undefined 2.2 设置对象的属性值 设置属性值也有 2 种方式: 对象.属性名 = 属性值 对象['属性名'] = 属性值 设置属性值的方式与访问值很相似,只是多了一个赋值操作。 设置属性值按照如下规则进行: 如果对象中不存在这个属性,则创建这个属性并赋值 如果对象中存在这个属性,则直接赋值 var person = { age: , }; person.name = '阿花'; person['hobby'] = ['eat', 'play doudou']; console.log(person); person.age = ; console.log(person); (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |