所谓“迭代器”就是一种可以遍历一种集合中所有元素的机制。在Lua中,通常将迭代器表示为函数。每调用一次函数,即返回集合中的“下一个”元素。 ???????? 每个迭代器都需要在每次成功...
分类:
其他好文 时间:
2014-07-29 16:21:49
阅读次数:
213
前言迭代器就是一种可以遍历一种集合中所有元素的机制,在Lua中,通常将迭代器表示为函数。每调用一次函数,就返回集合中的“下一个”元素。每个迭代器都需要在每次成功调用之后保存一些状态,这样才能知道它所在的位置及如何走到下一个位置,通过之前博文的总结,闭包对于这样的任务提供了极佳的支持。现在我们就用代码...
分类:
其他好文 时间:
2014-07-24 12:10:48
阅读次数:
174
前言:setInterval("fun()",time)有两个参数;fun()为要执行的函数;time为多久执行一次函数,单位是毫秒;我们做一个简单的例子,就是每隔5s弹出一个“hello”的对话框。先看第一种写法,把方法体抽离出来,以字符串的形式调用函数名,这种写法调用函数名是不能传参的:第二种写...
分类:
其他好文 时间:
2014-07-16 14:59:04
阅读次数:
426
ambiguous call(有二义性的调用)
一种编译错误,当调用重载函数,找不到唯一的最佳匹配时产生。
arguments(实参)
调用函数时提供的值。这些值用于初始化相应的形参,其方式类似于初始
化同类型变量的方法。
automatic objects(自动对象)
局部于函数的对象。自动对象会在每一次函数调用时重新创建和初始化,并在定义它的函数块结束时撤销。一旦函数执行完毕,...
分类:
编程语言 时间:
2014-07-06 08:20:41
阅读次数:
190
typedef可以用于定义函数指针类型:【语法】typedef (*)(参数表)typedef (::*)(参数表)【用途】1、可以用来定义该函数类型的函数指针,就不用每次使用函数指针都要写一次函数原型了;2、有了类型名,就可以使用在容器里面,譬如map,用于实现灵活的函数调用。【示例】例1:t.....
分类:
其他好文 时间:
2014-06-23 00:41:13
阅读次数:
198
通常基于递归实现的代码比基于循环实现的代码要简洁很多比如 二叉树遍历以及
二叉树的许多操作递归由于是函数调用自身,每一次函数调用,都需要在内存栈中分配空间以保存参数、返回地址以及临时变量而每个进程的栈容量是有限的,当递归调用的层级太多时,就会导致
调用栈溢出递归有时伴随大量重复的计算, 二叉树遍历的...
分类:
其他好文 时间:
2014-06-11 07:31:55
阅读次数:
187
首先,如果从AST(抽象语法树)的角度来看,两者的AST是一模一样的,最终结果都是一次函数调用。因此,就解析器产生的结果论而言,两者是没有区别的。其次
,从作用上看,前文已经说了,两者的作用都是创建一个函数并调用之。那么为什么要创建一个函数并立即调用呢,我想大多数是因为javascript的代码默认...
分类:
编程语言 时间:
2014-05-07 10:44:18
阅读次数:
396