javascript百炼成仙 第一章 掌握JavaScript基础1.8 对象的取值

简介: javascript百炼成仙 第一章 掌握JavaScript基础1.8 对象的取值

“小娃娃,我现在问你,如果我事先不知道对象的某个属性叫什么,那又该怎么访问对象中对应这个属性的值呢?”叶老笑呵呵地问到。


“什么什么,事先都不知道对象的属性名称,那怎么可能访问得到啊,这我可不知道了,我想这是不可能的。”叶小凡想了想,赶紧摇头。


“这样吧,我换一种说法。我想你现在已经知道对象可以通过一个‘.’号来访问里面的某一个数据。比如…”说着,叶老随手一挥,一个对象就生成出来。

var container = {
  caoyao : "解毒草" ,
  feijian: "乌木剑"
}; 

“我现在要得到解毒草,就直接用container去调用它的caoyao属性。”

container.caoyao

“这样做的确是可以的,但是如果遇到这种情况,就是我事先也不知道调用的属性叫什么名字,我用一个变量去定义属性呢?”说着,叶老又随手一挥,定义了一个变量:

var container = {
  caoyao : "解毒草" ,
  feijian: "乌木剑"
}; 
var prop = "caoyao";

\“这…”叶小凡也陷入沉思,过了许久,缓缓说道:“直接点prop肯定不行,那样的话container去调用的肯定是一个叫做prop的属性。而事实上,container对象里面是没有一个叫做prop的属性的,得到的结果肯定是undefined。”


听到这里,就连叶老也向叶小凡投去赞赏的目光,继而说道:“你的分析没有错,这里真的不能再用之前的那种方法了。小娃娃,你且看好!”话音刚落,叶老就打出了新的代码:

var container = {
  caoyao : "解毒草" ,
  feijian: "乌木剑"
}; 
var prop = "caoyao";
console.log(container[prop]);

90.png


“这!”叶小凡惊呼。

看着叶小凡惊讶的样子,叶老似乎有些得意。

“小娃娃,这边是我教你的新技巧,对象不仅仅可以用点去访问它的一个属性,也可以用中括号。如果用中括号,里面就允许你写一个变量。当然了,你写字符串也是可以的。”

似乎是担心叶小凡理解不了,叶老又补充了一行代码:

91.png

过了好一会儿,叶小凡才回味过来,说道:“我明白了,如果事先属对象性的名称未知,或者说调用的属性是动态变化的,就不能用点号了。用中括号的方式可以最大程度地提升对象调用属性的灵活度!”

相关文章
|
2月前
|
JavaScript 前端开发
JavaScript Date(日期) 对象
JavaScript Date(日期) 对象
43 2
|
29天前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
1月前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
20天前
|
JSON 前端开发 JavaScript
JavaScript中对象的数据拷贝
本文介绍了JavaScript中对象数据拷贝的问题及解决方案。作者首先解释了对象赋值时地址共享导致的值同步变化现象,随后提供了五种解决方法:手动复制、`Object.assign`、扩展运算符、`JSON.stringify`与`JSON.parse`组合以及自定义深拷贝函数。每种方法都有其适用场景和局限性,文章最后鼓励读者关注作者以获取更多前端知识分享。
18 1
JavaScript中对象的数据拷贝
|
1月前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
2月前
|
存储 JavaScript 前端开发
JavaScript 对象的概念
JavaScript 对象的概念
38 4
|
2月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
43 1
|
2月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
21 2
|
2月前
|
JavaScript 前端开发 Unix
Node.js 全局对象
10月更文挑战第5天
32 2
|
2月前
|
存储 JavaScript 前端开发
js中的对象
js中的对象
21 3