关于函数返回值的问题

牧殇之ZERO 2017-04-17 04:50:13
我在一个函数中调用了几个函数,每个函数我都想让他改变一个全局变量,有木有大神知道怎么弄。
我在被调用的函数中return的话,只返回到调用的函数里啊,那么多值没法返回到全局啊
...全文
141 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2017-04-19
  • 打赏
  • 举报
回复
引用 5 楼 blackknight233 的回复:
[quote=引用 4 楼 jslang 的回复:] 既然是用全局变量,你在各个函数中直接对全局变量赋值就行了,还用return返回什么?
在函数中是可以赋值,但是传不到全局中修改全局变量啊。这个修改全局变量的函数是在两层函数内,那些函数都有用改不了、 而我现在想在全局中另一个函数可以随时调用被修改的全局变量。[/quote]不可能修改不了全局变量,在任何地方都可以修改和访问全局变量,如果全局变量与局部变量同名也可以用 window.全局变量名 访问全局变量。 我想你的问题不是修改不了全局变量的问题,而是函数执行顺序的问题。 可能是你修改全局变量的那个函数还没有执行,在另一个函数中就要获取全局变量的值。当然获取不到修改后的值。 这种情况在ajax异步模式,setTimeout()和各种事件函数中是非常常见的。
牧殇之ZERO 2017-04-19
  • 打赏
  • 举报
回复
引用 4 楼 jslang 的回复:
既然是用全局变量,你在各个函数中直接对全局变量赋值就行了,还用return返回什么?
啊啊,我弄出来了,多谢,我原来一直在钻牛角尖
牧殇之ZERO 2017-04-19
  • 打赏
  • 举报
回复
引用 3 楼 qq_29594393 的回复:
你需要改变多个值,但是return 只能返回一个,返回的如果是数组或者对象的话就行了,(数组和对象都可以作为一个存储的容器,把所有的东西存进去,然后再取出来,就做到了返回多个值的。
改变全局变量的函数在两层函数中,一个键盘事件套着一个函数a套着这个函数b,这个函数b是我想改变全局变量的函数,返回数组太乱了返回不了
牧殇之ZERO 2017-04-19
  • 打赏
  • 举报
回复
引用 4 楼 jslang 的回复:
既然是用全局变量,你在各个函数中直接对全局变量赋值就行了,还用return返回什么?
在函数中是可以赋值,但是传不到全局中修改全局变量啊。这个修改全局变量的函数是在两层函数内,那些函数都有用改不了、 而我现在想在全局中另一个函数可以随时调用被修改的全局变量。
天际的海浪 2017-04-18
  • 打赏
  • 举报
回复
既然是用全局变量,你在各个函数中直接对全局变量赋值就行了,还用return返回什么?
当作看不见 2017-04-18
  • 打赏
  • 举报
回复
你需要改变多个值,但是return 只能返回一个,返回的如果是数组或者对象的话就行了,(数组和对象都可以作为一个存储的容器,把所有的东西存进去,然后再取出来,就做到了返回多个值的。
牧殇之ZERO 2017-04-18
  • 打赏
  • 举报
回复
引用 1 楼 qq_29594393 的回复:
先说一下函数式编程的意义,函数 是 进去一个值 ,出来一个 ,需要保证每次相同的输入得到相同的输出,如果你需要改变全局变量的话,不建议使用全局变量,可以使考虑使用对象,以模块的形式去实现

var obj= {
  str:xxx,
  fun1:funtion(){
  this.str
//操作 
  }
}
读取还是全局变量,
或者返回一个对象 ,吧你需要的值全部存在对象或数组中,再取出来对全局变量赋值操作。 funtion xx(){ return obj; }
对象我不是很懂,能详细说一下吗。 我原本的意图是有一个函数使用全局变量,另一个函数根据我的操作改变全局变量,具体过程有些复杂所以函数多了些,就造成了改变全局变量的几个函数在另外一个函数内
当作看不见 2017-04-17
  • 打赏
  • 举报
回复
先说一下函数式编程的意义,函数 是 进去一个值 ,出来一个 ,需要保证每次相同的输入得到相同的输出,如果你需要改变全局变量的话,不建议使用全局变量,可以使考虑使用对象,以模块的形式去实现


var obj= {
str:xxx,
fun1:funtion(){
this.str
//操作
}
}
读取还是全局变量,


或者返回一个对象 ,吧你需要的值全部存在对象或数组中,再取出来对全局变量赋值操作。
funtion xx(){
return obj;
}

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧