0 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<somearray.length; i++){
z += somearray[i];
}
Run Code Online (Sandbox Code Playgroud)
结果是NaN.为什么是这样?如果我这样做:h:function(){return 2*2;},那么我没有问题.我是JS的新手,我花了很多时间在网上搜索无济于事的答案.我是否需要使用parseInt或parseFloat,如果是,我应该使用哪个变量?提前致谢.
您没有从函数返回任何值,h因此它返回undefined,当添加结果为NaN时,请尝试:
h: function(){
var varOne = 2*2;
var varTwo = 3*2;
return varOne*varTwo;
},
Run Code Online (Sandbox Code Playgroud)
还要考虑var对范围中定义的变量使用关键字,否则最终会污染全局变量.
由于要为变量分配数值,因此无需使用解析它们 parseInt