有没有办法做到:JavaScript对象返回静态方法和自己的方法
foo() // return string "foo"
foo.bar() // return string "bar"
?
我试着用功能和对象进行实验。但没有发生。
有没有办法做到:JavaScript对象返回静态方法和自己的方法
foo() // return string "foo"
foo.bar() // return string "bar"
?
我试着用功能和对象进行实验。但没有发生。
function foo() {
return "foo";
}
foo.bar = function() {
return "bar";
};
或者,如果你喜欢:
var foo = function() {
return "foo";
};
foo.bar = function() {
return "bar";
}
JS函数是一个类型的对象,所以你可以分配属性/方法将它们同任何其他对象。
你可以调用一个函数或者一个名为foo
的类,但是根据我的理解你不能同时拥有这两个类。如我错了请纠正我。为什么要用同样的方式想要一个类和一个函数呢? 我假定这就是你想要的东西,因为在您的文章
一点信息要定义一个函数使用该
function foo() {
console.log("foo");
}
而且在你的榜样称呼它。
要定义一个类,像这样做(here是一些其他的方式来做到这一点)。
var foo = {
bar: function() {
console.log("bar");
}
}
再说一遍,就像你在你的例子中所做的那样。
_“如果我错了,请纠正我。” - - 嗯,呃......你错了。尝试从我的答案代码。顺便说一下,Javascript本身没有类,但是如果你用'new'调用JS函数,它的行为有点像其他语言中的类。 “class”这个词通常意味着你可以创建实例,但你的'var foo = {...}'只是一个带有方法的单例对象... – nnnnnn
你想要的东西是这样的: - function foo(){return“foo”; } foo.bar = function(){return“bar”; } – pvnarula
你想让foo()返回“foo”,那就是'function foo(){return“foo”}'或者你是否想要返回一个被调用的函数的名字,它会是'console.log(foo .name);'这将是毫无意义的,因为你已经输入了名字...... – luk2302