我是个新手,在看《javascript基础教程(第六版)》的第5章,第5-14脚本时,有个地方不太明白,还请各位高手请教: setTimeout("bumpPageCt("+this.thisPage+")",1000); bumpPageCt是个函数,调用时给它的参数前 + 和后 + 是什么意思????
解决方案 »
- insertRow() 设置事件 页面无效果 求助!
- javascript的一点问题
- 求拼音首字母、字母、数字三种都能匹配的下拉框,现在可以匹配拼音首字母,附源码
- 使用js下载服务器图片-出错了 请帮我看看
- 如何获取中英文字符串的长度?
- 有关javascript输出vml的问题。
- 关于验证码的一点想法
- xmlhttp.send返回的responseXML怎样赋值给一个DOM?[在线等]
- 用JAVASCRIPT怎么判断一个表单中是否存在一个复选框呢?
- 本地环境中js可以加载出来,但是部署到服务器上,js文件夹都没有了。通过域名却可以访问到,这个该怎么解决
- 求树型菜单代码(XP菜单效果)
- include的问题
要给bumpPageCt传个参数,实际上调用的时候是bumpPageCt(n)
n是个变量即this.thisPage
所以应该是bumpPageCt(this.thisPage)
其次
setTimeout的第一个参数是代表函数的字符串
如果直接"bumpPageCt(this.thisPage)",显然this.thisPage作为字符串的一部分是没有意义的,
所以将this.thisPage的值和与字符串连接
"bumpPageCt(" + this.thisPage + ")"
如果this.thisPage=2则 实际为"bumpPageCt(2)"
前后两个加号是在构造这个字符串,试想不带两个加号this.thisPage将会被看作字符串而不会被替换成相应的变量值
比如程序执行到此this.thisPage=6
把this.thisPage当字符串就会执行bumpPageCt(this.thisPage)
当数值就执行bumpPageCt(6)前一个的this.thisPage的引用是有范围的通常情况下bumpPageCt作为全局函数无法直接访问到this.thisPage,传数值6就不存在这个问题
将数字表达式的值加到另一数字表达式上,或连接两个字符串。而settimeout的第一个参数是必须的,或者是函数名称,或者是可以被执行的字符串.
jf jf
jf