<script>
var text="dffasdfasdfadsfadsfdafklsjdflkajsdf'alskdjf'asdlf" //预定文字
var delay=200 //文字出现的时间间隔
var i=0 //初始化变量 i
function scrollit(){
//设置 id 为 demo 的对象内的文字为从变量 text 的 0 开始到 i 间的文字加"_"
document.getElementById('demo').innerHTML=text.slice(0,i++)+"_"
if(i>text.length){ //当 i 大于 text 的文本长度时
i=0//重设 i 为 0,使文字重新从第一个文字出现
//延时执行scrollit()函数,delay*10是为了让显示完整文字的时间长一点
setTimeout("scrollit()",delay*10)
}
//否则在delay毫秒后再次执行scrollit()函数
else setTimeout("scrollit()",delay)
}
scrollit()//调用scrollit()函数
</script>
只需要在自定义的函数中添加参数就可以了,在函数调用的时候,传递一个参数就可以了。
无参数的自定义函数:function a(){alert (1)}
函数调用:
a() //弹出一个1
修改上面的函数,变成有参数的函数:
function a(n){alert (n)}
函数调用:
a(4) //弹出一个 4
在函数中,是可以使用函数名作为另一个函数的参数的,执行时相当于是对此函数的一次引用。
例如我们要创建不定参数数量的函数,最后一个参数是要执行的函数
var fn = function () {// 获取所有参数
var args = [].slice.call(arguments)
// 如果最后一个参数不是函数,则不继续执行下面的内容
var caller = args.pop()
if (typeof caller !== "function")
return
// 接下来是对所有参数进行操作
...
// 假设操作完了之后的变量数组仍为args,把这些变量置入要执行的函数中
caller.apply(this, args)
}