【发布时间】:2015-02-05 18:12:35
【问题描述】:
示例: 我需要像对象一样创建函数,如果我有简单的对象,我可以像这样得到它:
myObject = function(){
alert('tada');
}
但我需要像这样实现这个函数或其他参数内部对象:
myObject = {
value : function(){
alert('tada!');
}
};
并且只能通过myObject()调用这个函数,而不是myObject.value(),谢谢
【问题讨论】:
-
jQuery 是具有方法的函数的一个很好的例子,这听起来像你想要的。
-
如果有更多像
value这样的多个参数,你打算如何调用它们?我的意思是myObject()宁愿作为构造函数工作。访问saysome_other_value_func怎么样? -
你也可以查看 Object.defineProperty(myObject, "valueOf", {value: fn})
-
问题出在我对 js 的不良认识中,如果我写 myObject = { param1: function(){tada!!}},然后 myObject = 'anyParam',myObject 将得到'anyParam',并且 myObject.param1() 将返回'tada',奇怪但 js 不会替换对象,当我稍后分配它时。我以前从未在其他语言中看到过这种做法
标签: javascript object param