返回静态方法和自身作为方法的JavaScript对象
有没有办法做到:返回静态方法和自身作为方法的JavaScript对象,javascript,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 = funct
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");
}
就像你的例子中那样
要定义一个类,请这样做(还有其他一些方法)
再次,像您在示例中那样调用它。您希望这样:-function foo(){return“foo”}foo.bar=function(){return“bar”}您希望foo()返回“foo”,即
function foo(){return“foo”}
还是希望返回被调用函数的名称,即console.log(foo.name)代码>这将是毫无意义的,因为您已经输入了名称…“如果我错了,请纠正我。”-好的,嗯…您错了。试试我答案中的代码。顺便说一下,Javascript本身没有类,但是如果您使用new
调用JS函数,它的行为有点像其他一些语言中的类。单词“class”通常意味着可以创建实例的东西,但是您的var foo={…}
只是一个带有方法的单例对象。。。
var foo = {
bar: function() {
console.log("bar");
}
}