今天在做一个大转盘的时候遇到了一个问题,闭包问题。特总结一下,希望下次不再犯错。
总体的思路:
当点击大转盘按钮时,执行Rote()函数,获取Rote()里的item值,是随机获取的,然后把这个值传到openLuckPage()里,然后当转盘停止时,执行openLuckPage()。openLuckPage()是一个弹出层,里面有参数,是为了点击按钮调到另一个form表单的,在form表单的地址栏里是按钮里传出的参数,获取参数值,和从json数据里获取的值进行比较,然后渲染到页面。
这就遇到了一个问题,怎么把一个函数里变量传到另一个函数里。当时想了很久没有头绪,后来经别人提醒,利用闭包。我们都知道闭包是能够读取其他函数内部变量的函数,我们就可以定义一个全局变量,就像var num, var name,定义全局变量。然后就是让函数里的变量等于定义的全局变量 num=item name=txt,然后我们就可以获取item里的值,到全局变量,全局变量num就可以把值传到openLuckPage()里,a 链接里就可以获取参数变量 ,name同理。所以说闭包真的挺好的,帮我解决了很大的问题,当时也想了可不可以用其他的方法,比如克隆,复制什么的,因为感觉这种方法更好,就没有尝试其他的方法,大家也可以试试其他的方法,有时间在研究研究。