Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回空值的JavaScript对象_Javascript_Javascript Objects - Fatal编程技术网

返回空值的JavaScript对象

返回空值的JavaScript对象,javascript,javascript-objects,Javascript,Javascript Objects,这个代码有什么问题 函数makeGamePlayerint{ var-bal=0; var obj={ fun1:功能{ bal+=int; }, fun2:功能{ 返回bal; } }; 返回obj; } console.logmakeGamePlayer100//obj console.logmakeGamePlayer100.fun2//返回0,但应为100 我试着运行上面的代码,但没有得到正确的结果。我需要一些帮助 提前感谢。在不更改makeGamePlayer代码的情况下,生成第二个c

这个代码有什么问题

函数makeGamePlayerint{ var-bal=0; var obj={ fun1:功能{ bal+=int; }, fun2:功能{ 返回bal; } }; 返回obj; } console.logmakeGamePlayer100//obj console.logmakeGamePlayer100.fun2//返回0,但应为100 我试着运行上面的代码,但没有得到正确的结果。我需要一些帮助


提前感谢。

在不更改makeGamePlayer代码的情况下,生成第二个console.log输出100的唯一方法如下

函数makeGamePlayerint{ var-bal=0; var obj={ fun1:功能{ bal+=int; }, fun2:功能{ 返回bal; } }; 返回obj; } //评论,因为这是无关的 //console.logmakeGamePlayer100//obj var x=makeGamePlayer100;//顺便说一下,x是**不同的obj和bal** x、 fun1; console.logx.fun2; //为了说明每次调用“makeGamePlayer”时,您都会得到一个新的obj和一个新的bal var y=makeGamePlayer1000; y、 fun1; //注意,这仍然是100 console.logx.fun2; //这将输出1000个 console.logy.fun2; //输出 // 100 // 100
//1000您正在fun1函数中递增int,但您没有在任何地方调用。您已经调用了fun2函数,该函数将按原样返回bal。

您从未调用过fun1。但bal是一个全局变量,它应该返回100 right否,它不是全局变量,您从未在任何地方添加任何内容,因为您从未调用fun1