对象函数作为参数传递,如何访问该函数中的父对象?
我有以下情况:
function dog()
{
this.name = 'Lumpy';
this.getName = function() {
return this.name;
}
}
function show_dog_name(dogname)
{
alert(dogname());
}
bigdog = new dog();
show_dog_name(bigdog.getName);
“this”不是指“dog”对象,那么如何在传递的函数中获取父对象。
I have the following situation:
function dog()
{
this.name = 'Lumpy';
this.getName = function() {
return this.name;
}
}
function show_dog_name(dogname)
{
alert(dogname());
}
bigdog = new dog();
show_dog_name(bigdog.getName);
"this" not refers to "dog" object so how get parent object in passed function.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个:
Try this:
您可以像这样创建
dog
:这会创建一个闭包,让您
getName
始终能够访问name
。如果您希望狗的名称对您的对象来说是“公开”的,您可以使用:
另一种解决方案包括使“正确”的
this
对象始终可用于您的getName
函数:You can create
dog
like this:This create a closure that allow you
getName
to always be able to accessname
.If you want the dog name to be 'public' to your object, you can use:
Another solution consist to make the 'right'
this
object always available for yourgetName
function: