0
<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:人不是构造函数”,那么上面的脚本有什么问题?

4

1 回答 1

2

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

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

您可以将其重写为

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

person.prototype.run = function(){
    this.state='';
}
var obj = new person();
alert(obj.name);
于 2013-06-14T02:55:40.810 回答