2013-12-09 56 views
-3
function orangeCost(oneOrange){ 
    //this.OneOrange = oneOrange; 
    var total = OneOrange * OneOrange; 
    console.log(total); 
} 

orangeCost(5); 

我期待5是通過在參數,它可以像變量使用的功能中,不能正常工作,直到我用this關鍵字(2號線),爲什麼呢?爲什麼我的功能PARAMS說是未定義

+4

「OneOrange」與「oneOrange」不同(注意第一個字符)。它使用'this.OneOrange = oneOrange;'的原因是這個語句創建了一個全局變量'OneOrange',其值爲'oneOrange'。 –

+6

這個問題似乎是無關緊要的,因爲它是關於打字錯誤,這對其他人來說不會有太大用處。 –

+0

請不要投下來,我的壞LULZZZ – user3057928

回答

0

如果你還沒有做任何複製粘貼錯別字,你有一個橙色參數,持有5和OneOrange局部變量,這是未定義的。

3

Javascript區分大小寫。

o小的位置 - >function orangeCost(oneOrange){

變化

var total = OneOrange * OneOrange; 

var total = oneOrange * oneOrange; 

OR

變化

function orangeCost(oneOrange){ 

function orangeCost(OneOrange){ 
0

在JavaScript everytihng是,這意味着變量,函數名和運營商都是區分大小寫區分大小寫。

因此,變量oneOrange不同於OneOrange。這就是你得到關於未定義變量的信息的原因。並且你的函數輸入參數被定義,但變量'OneOrange'不是。

你必須行

var total = OneOrange * OneOrange; 

改變

var total = oneOrange * oneOrange; 

而且最好不要,因爲它們用於構造約定使用變量,如OneOrange