有沒有辦法做到: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