【发布时间】:2020-04-16 11:36:34
【问题描述】:
我正在学习使用构造函数方法创建 Javascript 对象,但我无法理解其中一个示例中构造函数的一个小行为。
<html>
<body>
<h2>JavaScript Objects</h2>
<p id="demo"></p>
<script>
function User(name,age){
this.name=name;
this.age=age;
}
var user = new User('Daniel',45);
document.getElementById("demo").innerHTML = user[name]; // Return undefined
document.getElementById("demo").innerHTML = user["name"]; // Return Daniel.
document.getElementById("demo").innerHTML = user[age]; // Retutn nothing. Blank
document.getElementById("demo").innerHTML = user["age"]; // Return 45
</script>
</body>
</html>
我读到可以使用点运算符或括号运算符访问对象属性。这里的括号运算符似乎工作正常。现在我无法理解这里的两件事。
-
user[name]正在返回undefined。为什么undefined? -
user[age]没有返回任何内容。为什么它不像以前的情况那样返回undefined? 我在这里错过了什么?
【问题讨论】:
-
括号表示法的意思是,括号中有一个字符串,或任何可以计算为字符串的表达式。
标签: javascript