WEB开发网
开发学院网页设计JavaScript JavaScript\ActionScript\ruby\php中实现回调函数... 阅读

JavaScript\ActionScript\ruby\php中实现回调函数,以及由此引出的闭包问题的讨论(一)

 2009-09-25 00:00:00 来源:WEB开发网   
核心提示: 首先是一个js的this的例子:之后是一个奇妙的不被人注意的问题:图片看不清楚?请点击这里查看原图(大图)。效果如下:每次显示都是6,好像和我们想的不一样啊,应该是不同的数字啊,事实上不是的,其实也不是很隐晦,因为在循环里我们给事件赋值一个函数的时候,函数并没有执行,在我们鼠标移动开始后才会执行

首先是一个js的this的例子:

JavaScript\ActionScript\ruby\php中实现回调函数,以及由此引出的闭包问题的讨论(一)

之后是一个奇妙的不被人注意的问题:

JavaScript\ActionScript\ruby\php中实现回调函数,以及由此引出的闭包问题的讨论(一)

图片看不清楚?请点击这里查看原图(大图)。

效果如下:

JavaScript\ActionScript\ruby\php中实现回调函数,以及由此引出的闭包问题的讨论(一)

每次显示都是6,好像和我们想的不一样啊,应该是不同的数字啊,事实上不是的,其实也不是很隐晦,因为在循环里我们给事件赋值一个函数的时候,函数并没有执行,在我们鼠标移动开始后才会执行这个函数,此时,由于我们并没有创建闭包,所以引擎不会为每个函数保存变量i的值,当我们鼠标开始移动后,所有执行的函数里的i都是i的最终值:6.

下面我们对这个程序进行一下改动:

JavaScript\ActionScript\ruby\php中实现回调函数,以及由此引出的闭包问题的讨论(一)

上一页  1 2 3 4 5  下一页

Tags:JavaScript ActionScript ruby

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接