use*_*970 1 html javascript object
开始学习javascript,目前正在通过对象主题.
<!DOCTYPE html>
<html>
<body>
<h3>object prop access</h3>
<p id="demo"></p>
<p id="test"></p>
<script>
var foo = {unique_prop: 1}, bar = {unique_prop: 2}, object = {};
object[foo] = 'value1';
//console.log(object[bar]);
document.getElementById("demo").innerHTML = "Object property:"+object[bar];
document.getElementById("test").innerHTML = "Object property object[foo]:"+object[foo];
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我运行这个程序时,它会在单独的行中打印值" value1"," value1".我的问题是没有为" bar"定义属性名称" " object然后为什么object[bar]打印值" value1" - 分配给object[foo].
--Divyesh
因为对象属性具有键和值.键总是一个字符串.当您尝试为该键设置一个键,该键是一个变量而它作为一个对象时,它将.toString调用对象/变量的方法,这种情况下将返回[object Object]
所以bar与foo当转换为一个字符串将是等效的.
所以,您可以将其视为访问此类对象object["[object Object]"]
bar.toString() // "[object Object]"
foo.toString() // "[object Object]"