TypeError:sally未定义

时间:2016-05-17 09:08:04

标签: javascript

请帮帮我,我有错误" TypeError:sally未定义&#34 ;; 我不明白为什么。

function Person(name,age) {
this.name = name;
this.age = age;
this.species = "Homo Sapiens";
};

var sally = Person("Sally Bowles", 39);
var holden = Person("Holden Bowles", 16);

console.log("sally's species is " + sally.species + " and she is " +  
sally.age);
console.log("holden's species is " + holden.species + " and he is " +   
holden.age);

4 个答案:

答案 0 :(得分:3)

使用pd.read_sql(query1, cnxn, params=[testid]) 运算符:

new

答案 1 :(得分:2)

要创建新对象,您必须使用 new 运算符

调用构造函数
objectName = new objectType(param1 [,param2] ...[,paramN])

有关新运营商的详细信息,请参阅MDN new operator

在您当前的实现中调用:

var sally = Person("Sally Bowles", 39);
执行Person构造函数中的

this将是窗口对象(应该注意this将是定义了上下文函数的对象,我假设它是窗口对象)

因此,您必须先添加 new 运算符,然后调用构造函数来传递所需的上下文并在构造函数中获得有效的this

var sally = new Person("Sally Bowles", 39);

答案 2 :(得分:0)

如果您没有Person(…)前缀为new,则会调用该函数并将其返回值分配给sally。在您的情况下,该函数不返回任何内容(undefined),因此sallyholden都设置为undefined

您想要的是使用new关键字创建对象:

var sally = new Person("Sally Bowles", 39);

答案 3 :(得分:-1)

var sally = new Person("Sally Bowles", 39);
var holden = new Person("Holden Bowles", 16);