尝试输出对象的属性时出错

时间:2013-06-14 02:51:56

标签: javascript

<script>
person = new Object()
person.name = "Tim Scarfe"
person.height = "6Ft"

person.run = function() {
    this.state = "running"
    this.speed = "4ms^-1"}

var obj = new person();
alert(obj.name);
</script>

问题:

在控制台日志中,它显示“TypeError:person不是构造函数”,那么上面的脚本有什么问题呢?

1 个答案:

答案 0 :(得分:2)

new运算符调用构造函数来创建对象实例。即构造函数需要是function,在您的情况下,Person是一个对象实例。

您可以使用构造函数的prototype属性来创建共享对象。

您可以将其重写为

function person(){
    this.name='';
    this.height='';
}

person.prototype.run = function(){
    this.state='';
}
var obj = new person();
alert(obj.name);