JavaScript 基础知识-物件+阵列的组合

若同时需要很多个物件,不妨参考一下前面说到阵列适合储存多个资料,储存物件也不例外,我们可以在阵列内储存多个物件,如下:

var farms = [    {        farmer: 'Jerry',        chicken: 5,        duck: 6,        dogs: ['小白','小黑']     },    {       farmer: 'Tom',       chicken: 8,       duck: 3,       dogs: ['皮皮']     }];

前面有讲到属性不只可以赋予值,也可以是函式,不妨来增加点有函式的属性:

   farms[0].poultry = function(){       var total = this.chicken + this.duck;       console.log(total);   };   farms[1].poultry = function(){       var total = this.chicken + this.duck;       console.log(total);   };

以上複习到了前面两个观念:

阵列的读取是要中括号搭配索引编号读取物件的属性

所以我们在整个 farms 阵列内先读取第一个资料,即 farms[0]
接下来为它新增一个属性 farms[0].poultry
且这个属性赋予一个函式用来计算所有的家禽farms[0].poultry = function(){...}

若此时在 console 呼叫 farms 这个阵列会如下:

var farms = [    {        farmer: 'Jerry',        chicken: 5,        duck: 6,        dogs: ['小白','小黑'],        poultry: function(){            var total = this.chicken + this.duck;            console.log(total);        }     },    {       farmer: 'Tom',       chicken: 8,       duck: 3,       dogs: ['皮皮'],       poultry: function(){            var total = this.chicken + this.duck;            console.log(total);        }     }];

如果此时想要计算第二个物件的家禽数量:

console.log(farms[1].poultry());

此时会在 console 看到 11

如果想要读取第一个物件的 dogs 属性的第一笔资料,则:

console.log(farms[0].dogs[0]);

此时会在 console 看到 小白

这里资料型态读取上都是依照前面讲过的观念,不同资料型态读取上会较複杂,可以多重複看几次来消化
http://img2.58codes.com/2024/emoticon31.gif


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章