2013-03-11 98 views
1

這是我第一次瀏覽了一段時間後發現的,我是javascript新手,但我很難弄清楚這一點。調用函數時出現問題

我想調用我創建的函數,每次我試圖調用它...我被告知我沒有調用該函數。

我錯過了什麼?

//Simple greeting function 
var greeting = function (name) { 
console.log("Great to see you," + " " + name); 
}; 

//Calling function 
var greeting = function(name) { 
console.log("Hello" + "" + name); 
} // this was missing in the original question 

,或者如果我嘗試

functionName = function(name) 

我會得到一個語法錯誤

+0

它看起來好像在問候語功能上有一個右大括號。 – 2013-03-11 03:28:01

回答

1

什麼?試試這個:

var greeting = function(name) { 
    console.log('Hello ' + name); 
} 

greeting('ktm'); 

因此,有兩種方法來定義功能。

(1)功能表達

var greeting = function(name) { ... }

(2)函數聲明

function greeting(name) { ... }

有一種簡單的方法來調用函數。

greeting('hello');

實際上,你可以通過它的任何數量的參數,但如果函數需要的參數,你通過它沒有,它會將其視爲undefined

+0

謝謝。我不是故意浪費任何人的時間。我是新來的JavaScript。 – Pretzel 2013-03-11 03:39:35

+0

非常感謝:) – Pretzel 2013-03-11 03:40:37

+0

你不浪費任何人的時間,認真:-)我很高興寫下這個迴應。如果您錯誤地將(初次)演示文稿誤認爲居高臨下,我很抱歉。 – ktm5124 2013-03-11 03:42:06

1

你根本沒有調用你的函數。

給你的函數的調用是這樣的:

greeting("Mike"); 
0

嘗試:

//Simple greeting function 
var greeting = function (name) { 
    console.log("Great to see you," + " " + name); 
}; 

greeting('foo bar'); 
+1

不可以。不可以。做...或不要。沒有嘗試。 – 2013-03-11 03:30:48

+0

@SamuelLiew ??? – Petah 2013-03-11 04:08:11

0

這裏是如何定義功能:

function greeting(name) { 

    console.log("Great to see you," + " " + name); 

} 

,並調用它:

greeting("Tomas"); 
0

,或者你可以做...

/*here i am declaring my function*/ 
function greeting(name) { 
console.log(name); 
} 

/*here i am calling it*/ 
greeting('ktm'); 

功能的問候(){}是一個函數聲明。函數聲明可能更易於在潛入之前拾取和學習,並將函數存儲到變量中。特別是如果你第一次學習這些東西。

+0

我認爲這不像看起來那麼令人困惑。這種區別就是這樣一個流行詞,它會讓你感到困惑,因爲你*在你真正瞭解它*之前聽到它*。最有效的補救措施是一個簡潔的解釋:http://stackoverflow.com/questions/1013385/what-is-the-difference-between-a-function-expression-vs-declaration-in-javascrip – ktm5124 2013-03-11 03:49:18

+0

我完全同意。但首先學習函數聲明的好處在於,它可以在JavaScript頁面的任何位置設置,這與其他方法不同,這就是爲什麼我建議將其作爲第一個學習步驟,以防萬一您最終將引用代碼放在其上方或下方。 – blackhawk 2013-03-11 03:58:41