【发布时间】:2014-09-03 09:03:25
【问题描述】:
这可能是一个非常简单的问题。我还在学习 javascript,希望能得到以下问题的帮助。
var hello = function()
{
this.hey = function()
{
console.log("hey");
}
function init()
{
this.hey();
}
init();
}
var h = new hello();
上面的代码抱怨没有定义方法hey。 但是如果我这样做了
var h = hello();
它没有给出任何问题。
为什么第一个创建对象的 new 给了我错误,而第二个没有?我需要创建对象,因此我需要使用 new 关键字。如何解决第一个错误?
【问题讨论】:
-
this未在init中定义。 -
如@torazaburo所说,你需要先将
this分配给一个变量,这样你就可以在init的范围内调用它
标签: javascript function public