2013-12-09 34 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