对象题目的一个坑 理解Javascript对象

2019-12-17,,,

这一篇的例子,主要是来引起对Javascript对象的理解及注意的。其实是一种面试时的一个坑,实际项目中也是很少用得到,但是为了提高警惕性,我们来看这个例子:

代码名称

var first = {};
var second = {k:"second"};
var third = {k:"third"};
first[second] = 100;
first[third] = 200;
console.log(first[second])//这里会输出什么内容呢?

如果要自己做一下这个题,后面的解释先不看。

这里会输出什么样的结果呢?可能大部分人会觉得结果是100,或者是题目有错误,再或者是结果是200。

其实最终结果是200

为什么? 因为second、third都是对象,而且都是[object object],因此first[second] 等价于first[[object object]] 同样first[third] 等价于first[[object object]] 所以最终的结果可以是first["[object object]"],例子中对这个表达式进行了两次赋值操作,所以最终的结果是200。

所以在javascript中,很多的细节需要我们去注意的,或许就是那些面试者,不知道出什么面试题,尽出这些陷阱式的题目。不过,我们就是需要把基础打牢固了,什么都不怕! 后续我会继续出一些题目来做讲解!

通过一个简简单单的例题,引发了大家的思考,为大家学习javascript对象提供了有了许多启发,希望大家有所收获。

您可能感兴趣的文章:

  • JavaScript字符串转数字的5种方法及遇到的坑
  • 使用PHP json_decode可能遇到的坑与解决方法
  • 基于js粘贴事件paste简单解析以及遇到的坑
  • JavaScript代码编写中各种各样的坑和填坑方法
  • JavaScript中使用typeof运算符需要注意的几个坑
  • Javascript中构造函数要注意的一些坑
  • JS大坑之19位数的Number型精度丢失问题详解
  • JS面试题大坑之隐式类型转换实例代码
  • 弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】

《对象题目的一个坑 理解Javascript对象.doc》

下载本文的Word格式文档,以方便收藏与打印。