Javascript 将函数从obj传递到数组中。然后将数组相加,但结果为NaN。为什么?
代码如下:Javascript 将函数从obj传递到数组中。然后将数组相加,但结果为NaN。为什么?,javascript,arrays,function,object,Javascript,Arrays,Function,Object,代码如下: var myObject = { x: 5, h: function(){ varOne = 2*2; varTwo = 3*2; varThree = varOne*varTwo; }, d: 4 }; var g = myObject.h(); var xyz = g; var abc = 2; var efg = 3; var somearray = [xyz,abc,efg]; var z = 0; for(i=0; i
var myObject = {
x: 5,
h: function(){
varOne = 2*2;
varTwo = 3*2;
varThree = varOne*varTwo;
},
d: 4
};
var g = myObject.h();
var xyz = g;
var abc = 2;
var efg = 3;
var somearray = [xyz,abc,efg];
var z = 0;
for(i=0; i<somearray.length; i++){
z += somearray[i];
}
var myObject={
x:5,
h:函数(){
瓦隆=2*2;
varTwo=3*2;
varThree=varOne*varTwo;
},
d:4
};
var g=myObject.h();
var xyz=g;
var-abc=2;
var-efg=3;
var somearray=[xyz,abc,efg];
var z=0;
对于(i=0;i您没有从函数h
返回任何值,因此它返回未定义的值,当添加该值时,结果为NaN,请尝试:
h: function(){
var varOne = 2*2;
var varTwo = 3*2;
return varOne*varTwo;
},
还考虑在范围内定义的变量中使用<代码> var >代码>关键字,否则会导致全局性的污染。
由于您正在为变量分配数值,因此不需要使用parseInt
解析变量,因为您没有从函数h
返回任何值,因此它返回未定义的值,当添加该值时,结果为NaN,请尝试:
h: function(){
var varOne = 2*2;
var varTwo = 3*2;
return varOne*varTwo;
},
还考虑在范围内定义的变量中使用<代码> var >代码>关键字,否则会导致全局性的污染。
由于您将数值分配给变量,因此无需使用parseInt
解析它们。使用更多描述性的变量名,会更容易理解。使用更多描述性的变量名,会更容易理解。耶!非常感谢!我觉得自己像个白痴。它工作得很好!@HST不用担心。如果您是满意的请记住标记答案。可以。我只是在等待,直到它让我在6分钟内完成。耶!非常感谢!我觉得自己像个白痴。它工作得很好!@HST无需担心。如果您满意,请记住标记答案。可以。我只是在等待,直到它让我在6分钟内完成。