对象中函数的理解

hanyuxinting 2009-12-22 11:02:34
var a =
{
test1: function test2()
{
//...
}
}
一直都是这样写一个方法体,但从来也不知道其中test2到底有什么用,请高手明示~




...全文
88 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
moliu 2009-12-22
  • 打赏
  • 举报
回复
test1作为对象a的属性,它的值是函数test2。当你调用test1属性时,函数test2就被调用。
ITDC_YiWang 2009-12-22
  • 打赏
  • 举报
回复
看不明白。/。
sohighthesky 2009-12-22
  • 打赏
  • 举报
回复
哪位高手写的?肯定连js基本语法都不知道
wbhggwk 2009-12-22
  • 打赏
  • 举报
回复
test2为test1的name属性,test1为a的一个属性(方法)

var a =
{
test1: function test2()
{
//...
}
}
alert(a.test1.name)
das_jack 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 hanyuxinting 的回复:]
var a =
{
test1: function test2()
{
//...
}
}
一直都是这样写一个方法体,但从来也不知道其中test2到底有什么用,请高手明示~



[/Quote]
test2是函数声明时的函数名,可有可无,而test1是该函数的一个引用
fengsky491 2009-12-22
  • 打赏
  • 举报
回复
我想基本没什么意义,你访问都是通过test1来的,还命名有什么用?
草根醉秋意 2009-12-22
  • 打赏
  • 举报
回复
变量a为一个json对象,test1是他的一个属性~他的值是一个方法,当调用a.test1()的时候就会执行test2这个方法。
hanyuxinting 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 moliu 的回复:]
test1作为对象a的属性,它的值是函数test2。当你调用test1属性时,函数test2就被调用。
[/Quote]

嗯 我觉得这样理解是对的。

但是test2 对于整个对象a,有没有什么意义?

这样的话,肯定是不能在对象a的其他方法内调用。那给它命名还有什么意义?
fengsky491 2009-12-22
  • 打赏
  • 举报
回复
var a =
{
test1: function ()
{
//...
}
}


这样写就好了

所以1楼才会说。。。。
hanyuxinting 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sohighthesky 的回复:]
哪位高手写的?肯定连js基本语法都不知道
[/Quote]

。。你怎么理解的?这代码应该没有问题吧,你把我说蒙了。

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧