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

时间:2015-12-22    点击:51   

这一篇的例子,主要是来引起对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代码实现pc与手机之间的跳转
AngularJS 日期格式化详解
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
js判断文本框输入的内容是否为数字
javascript动态添加checkbox复选框的方法
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 Product All Rights Reserved