Javascript构造函数:无法在func内部调用
您好,我定义了这个脚本:
var asdf = {
settings : {
scope : "blah"
},
func1 : function () {
alert('1');
},
func2 : function () {
this.func1();
}
}
为什么我不能使用 this.func1()
来调用成员 func?这很奇怪,因为 this.settings.scope
工作得很好。
正确的语法是什么? tnx
Hi I defined this script:
var asdf = {
settings : {
scope : "blah"
},
func1 : function () {
alert('1');
},
func2 : function () {
this.func1();
}
}
why cant I use this.func1()
to call a member func? Its strange because this.settings.scope
works perfectly.
Whats the correct syntax? tnx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你可以,只要你从
asdffunc2
代码>.如果你做了这样的事情...
那么它就不起作用,除非你手动设置上下文...
You can, as long as you called
func2
from the context ofasdf
.If you did something like this...
Then it wouldn't work, unless you manually set the context...
我从你的标签中得知
func2
是一个构造函数?原因是this
将是使用new
调用函数时构造的对象。例如:只需将
func1
访问为asdf.func1
即可。无论如何,如果您在这种情况下不使用this
,那就更安全了;this
可以绑定到任何东西:I take it from your tags that
func2
is a constructor? The reason is thatthis
will be the object being constructed when a function is called usingnew
. For example:Instead, simply access
func1
asasdf.func1
instead. It's safer if you don't usethis
in that type of situation, anyway;this
can be bound to anything: