<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
// 对象的属性是什么类型的? string
// 如果对象的属性不是字符串的类型,此时,会被隐式的转换为 string
var obj = {};
// obj.toString() => "[object Object]"
// 此处,是把对象 {} 转换成了 字符串,再来设置的对象属性
obj[ {} ] = 123;
console.log(obj[ {} ]); // 123
console.log(obj[ "[object Object]" ]); // 123
// obj[ "name" ] = "123";
// console.log(obj[ "name1" ]);
// 问题就被转化为:两个对象 toString 的时候是否相同
// console.log( ({}).toString() );
// console.log( ({}).toString() );
// console.log( ({}).toString() === ({}).toString() ); // true
/*// 引用类型比较的是 地址,所以,除非这两个对象是同一个对象
// 否则,不相登
var o1 = {};
// var o2 = o1; 此时,这两个对象就是 同一个对象了
var o2 = {};
// console.log({} === {});
console.log(o1 === o2); // true or false ???
console.log(o1 == o2); // true or false ???*/
</script>
</body>
</html>